Quantcast
Channel: Windows PowerShell Forum
Viewing all articles
Browse latest Browse all 2314

Drive-Mapping Script im Task-Scheduler

$
0
0

Hallo Zusammen

Ich realisiere zurzeit ein Virenscanning, dass von der Client-Seite her Netzlaufwerke (also einen Filer) auf Malware überprüft.

Dabei nutze ich eine Option meiner Scan-Engine mit der ich alle gemappten Laufwerke scannen kann. Da der Filer aber mehr als 90(N) Cifs-Shares provisioniert, wollen wir in einer N-tägigen-Periodizität, täglich ein Drive mappen, dieses anschliessend scannen und danach das nächste mappen für den nächsten Tag.

Mit dem Script selber gab es überhaupt keine Probleme, aber mit der Implementation bzw. der Ausführung im Task Scheduler. Es scheint als gäbe es nämlich ein Problem mit der User-Session

Folgende Sachverhalte:

  1. Das Script lässt sich manuell problemlos ausführen und tut was es soll. Es unmapped das bestehende Drive und mapped das nächste (aus einer Liste) auf denselben Drive-Letter.
  2. Als scheduled Task macht das Script auch was es soll, aber irgendwie in einer anderen User-Session. In meinem Log sind keine Fehler und Exit-Code ist 0.
  3. Wenn ich nach dem Ausführen des scheduled Tasks einen logoff und re-logon mache, steht das neue Drive schön gemapped im Explorer oder unter dem Net-Use Command bereit. Genauso wie ich das eigentlich möchte, nur ohne Relogin.
  4. Das Selbe geschieht wenn ich das Ganze in einem Batch-File ausführen lasse, das macht keinen Unterschied. Meiner Meinung nach liegt das Problem beim Task Scheduler.
  5. Habe ich bereits getestet ob das Problem auch besteht wenn ich nicht eingeloggt bin. Natürlich kann ich das nicht "genau" überprüfen, da das Drive ja gemapped ist wenn ich mich wieder einlogge... da aber in den logfiles der Scan-Engine die Meldung: "No Items for scanning" zu finden ist, ist es wiederum ziemlich sicher, dass das Drive zur Zeit des VirensScans nicht gemapped war (dieser findet 15min nach dem remapping statt).

  • Das Script wird mit "Highest Privileges", "wheter the user is logged on or not" ausgeführt.
  • Ich rufe das script über Powershell.exe mit Parameter:" -nologo -executionpolicy bypass <pfad> "auf
  • Weitere Parameter mit denen ich gespielt habe: -NoProfile, -File
  • Ich bin Mitglied der lokalen Administrators-Gruppe und das Script wird unter meinem User ausgeführt
  • "Allow task to be run on demand" ist zum Testen natürlich gesetzt.
  • OS: WinServer 2008 R2

Ich kann mir hier nicht mehr helfen und tendiere bereits dazu das Script als Workaround als Service laufen zu lassen (wenn das denn funktioniert).

Kann mir hierbei Jemand informationen liefern wie der Windows Task Scheduler das Session-Handling macht und/oder mir gar bei meinem Problem helfen.

Danke im Voraus!

Cheers
Sébastien




Viewing all articles
Browse latest Browse all 2314