wykonywanie skryptów powershell za pomocą wiersza poleceń - win7

1

Mam problem z automatycznym uruchomieniem skryptu powershell. Po każdym wywołaniu lub wykonaniu skryptu otrzymuję monit o podanie zabezpieczeń, wpisując „R”, aby uruchomić. Ustawiłem już zasady wykonywania na „nieograniczone” i zweryfikowałem ich zestaw. Czy ktoś ma jakieś sugestie?

Ostrzeżenie o zabezpieczeniach: uruchamiaj tylko zaufane skrypty. podczas gdy skrypty z   Internet może być przydatny, skrypt może potencjalnie zaszkodzić twojemu   komputer. Czy chcesz uruchomić C: test7.ps1?

Obecnie używam skryptu powershell przez wywołanie powershell.exe w cmd. Próbowałem również uruchomić to bezpośrednio z PowerShell i uzyskać ten sam komunikat o błędzie.

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

Próbowałem również uruchomić następującą komendę przez cmd:

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

Skrypt Win7:

$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

Każda pomoc byłaby bardzo mile widziana

Mpit52
źródło
Aby wyjaśnić: kiedy mówisz „automatyczne uruchamianie skryptu powershell”, co to właściwie oznacza? Automatycznie przy starcie przez folder startowy? W określonym czasie za pomocą zaplanowanego zadania? --- Ponadto, czy nie możesz wykonać skryptu PS w ogóle lub tylko podczas korzystania z CMD?
nixda

Odpowiedzi:

4

Problem polega na tym, że plik, który próbujesz wykonać, ma plik alternatywny strumień plików oznacza to, że pochodzi z Internetu. Aby wiadomość zniknęła, wystarczy usunąć strumień. Sysinternals ma darmowe narzędzie o nazwie streams.exe które mogą to łatwo zrobić dla ciebie. (To jest ważne, aby zauważyć, jak wskazano w komunikacie, że jeśli plik zrobił pochodzić z publicznego Internetu, należy zachować ostrożność podczas jego wykonywania i upewnić się, że całkowicie rozumiesz, co zamierza zrobić

Po utworzeniu pliku streams.exe komenda będzie:

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

Przeglądanie alternatywnego strumienia z linii poleceń może być trudne, jednak notepad ++ może je otworzyć. W moim systemie poleceniem byłoby:

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

Ponadto, jeśli jesteś ciekawy, strumień, który daje ci cały smutek, zawiera:

[ZoneTransfer]
ZoneId=3

Zdefiniowane identyfikatory strefy to:

Local machine = 0
Intranet      = 1
Trusted       = 2
Internet      = 3
Restricted    = 4
BillP3rd
źródło