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

Skript lässt sich in ISE, aber nicht über Powershell oder Batch ausführen

$
0
0

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




Viewing all articles
Browse latest Browse all 2314


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>