Hi,
ich habe ein PowershellSkript zur USB-Überprüfung, siehe
USB-ID einem Laufwerksbuchstaben zuordnen mit nun einigen Verbesserugen.
In der Powershell ISE kann ich das Skript starten, und erhalte eine Meldung für unerlaubten Zugriff, eine E-Mail, der Stick wird ausgeworfen etc.
Leider funktioniert es nicht, wenn ich das Skript über eine Batch Datei starte oder direkt über Powershell. In der Ausführungsrichtlinie habe ich testweise global Unrestricted gewählt, das macht aber keinen Unterschied. In der Batch rufe ich das ganze folgendermaßen auf:
powershell.exe -version 2.0 -ExecutionPolicy Bypass -NoLogo -NoProfile -File .\USB-Check.ps1
Das Skript scheint zu starten, er sagt mir er hat den Job eingetragen:
AUSFÜHRLICH: Ausführen des Vorgangs "Start-Transcript" für das Ziel ".\Log-Shell.log". Die Aufzeichnung wurde gestartet. Die Ausgabedatei ist ".\Log-Shell.log". WARNUNG: Die Spalte Command passt nicht in die Anzeige und wurde entfernt. Id Name PSJobTypeName State HasMoreData Location -- ---- ------------- ----- ----------- -------- 1 USB-Check NotStarted False Die Aufzeichnung wurde beendet. Die Ausgabedatei ist ".\Log-Shell.log".
Log-Shell.log:
********************** Start der Windows PowerShell-Aufzeichnung Startzeit: 20150107094641 Benutzername: *** Computer: *** (Microsoft Windows NT 6.1.7601 Service Pack 1) ********************** Die Aufzeichnung wurde gestartet. Die Ausgabedatei ist ".\Log-Shell.log". WARNUNG: Die Spalte Command passt nicht in die Anzeige und wurde entfernt. Id Name PSJobTypeName State HasMoreData Location -- ---- ------------- ----- ----------- -------- 1 USB-Check NotStarted False ********************** Ende der Windows PowerShell-Aufzeichnung Endzeit: 20150107094642 **********************
Wenn ich nun einen USB-Stick anstecke, der nicht in der Whitelist freigegeben ist, passiert - nichts.
Das selbe wenn ich es interaktiv über die Powershell aufrufe:
PS > .\USB-Check.ps1 AUSFÜHRLICH: Ausführen des Vorgangs "Start-Transcript" für das Ziel ".\Log-Shell.log". Die Aufzeichnung wurde gestartet. Die Ausgabedatei ist ".\Log-Shell.log". Id Name PSJobTypeName State HasMoreData Location Command -- ---- ------------- ----- ----------- -------- ------- 2 USB-Check NotStarted False ... Die Aufzeichnung wurde beendet. Die Ausgabedatei ist ".\Log-Shell.log". PS > Get-Job Id Name PSJobTypeName State HasMoreData Location Command -- ---- ------------- ----- ----------- -------- ------- 2 USB-Check NotStarted False ...
Wenn ich Get-Job aufrufe, nachdem die Batch durchgelaufen ist, wird mir kein laufender Job angezeigt. Die Skripte werden alle mit Adminrechten ausgeführt, und ich weiß nun leider nicht wo ich noch suchen kann.
Das ganze soll zu guter letzt bei allen Clients im Aufgabenplaner abgelegt werden, darum nützt mir die ISE leider nichts.
Ich bin für jeden Hinweis dankbar.
Gruß
Markus