Ausführen von Powershell-Skripts über die Eingabeaufforderung - win7

8074
Mpit52

Ich habe Probleme beim automatischen Ausführen eines Powershell-Skripts. Bei jedem Aufruf oder Ausführen des Skripts wird eine Sicherheitsabfrage angezeigt, in der Sie zur Eingabe von "R" aufgefordert werden. Ich habe die Ausführungsrichtlinie bereits auf "uneingeschränkt" gesetzt und deren Satz überprüft. Hat jemand irgendwelche Vorschläge?

Sicherheitswarnung: Führen Sie nur Skripts aus, denen Sie vertrauen. Obwohl Skripts aus dem Internet nützlich sein können, kann das Skript Ihren Computer beschädigen. Möchten Sie C: \ test \ win7.ps1 ausführen?

Ich führe zurzeit das Powershell-Skript über den Aufruf von powershell.exe in cmd aus. Ich habe auch versucht, dies direkt von Powershell aus auszuführen und dieselbe Fehlermeldung zu erhalten.

powershell -command C:\nst\win7.ps1 "var1" "var2" "var3" 

Ich habe auch versucht, den folgenden Befehl über cmd auszuführen:

powershell -executionpolicy unrestricted -command C:\nst\win7.ps1 "var1" "var2" "var3" 

Win7-Skript:

$domain = $args[0] $pwd = $args[2] $usr = $args[1] $password = ConvertTo-SecureString $pwd -AsPlainText -Force $username = "$domain\$usr" $credential = New-Object System.Management.Automation.PSCredential($username,$password) Add-Computer -DomainName $domain -Credential $credential 

Jede Hilfe wäre sehr dankbar

1
Um es klar zu sagen: Wenn Sie "Powershell-Skript automatisch ausführen" sagen, was bedeutet das genau? Automatisch beim Start über Startordner? Zu einer bestimmten Zeit per geplanter Aufgabe? --- Kannst du PS-Skript nicht generell ausführen oder nur, wenn CMD zuerst verwendet wird? nixda vor 10 Jahren 0

1 Antwort auf die Frage

4
BillP3rd

Das Problem ist, dass die Datei, die Sie ausführen möchten, über einen alternativen Dateistream verfügt, der darauf hinweist, dass sie aus dem Internet stammt. Damit die Nachricht nicht mehr angezeigt wird, müssen Sie lediglich den Stream löschen. Sysinternals verfügt über ein kostenloses Dienstprogramm namens streams.exe, das dies für Sie erledigen kann. (Es ist wichtig, zu beachten, wie in der Meldung angezeigt wird, dass, wenn die Datei hat aus dem öffentlichen Internet kommen, sollten Sie vorsichtig sein, wenn es ausgeführt wird, und stellen Sie sicher, vollständig zu verstehen, was es tun wird .)

Sobald Sie streams.exe installiert haben, lautet der Befehl:

streams.exe -d C:\nst\win7.ps1 

Das Anzeigen des alternativen Streams über die Befehlszeile kann schwierig sein. Notepad ++ kann sie jedoch öffnen. Auf meinem System lautet der Befehl:

"c:\Program Files (x86)\Notepad++\notepad++.exe" "e:\temp\test.ps1:Zone.Identifier:$DATA" 

Wenn Sie neugierig sind, enthält der Stream, der Ihnen alle Trauer gibt, Folgendes:

[ZoneTransfer] ZoneId=3 

Definierte Zonen-IDs sind:

Local machine = 0 Intranet = 1 Trusted = 2 Internet = 3 Restricted = 4