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
źródło
Odpowiedzi:
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:
Przeglądanie alternatywnego strumienia z linii poleceń może być trudne, jednak notepad ++ może je otworzyć. W moim systemie poleceniem byłoby:
Ponadto, jeśli jesteś ciekawy, strumień, który daje ci cały smutek, zawiera:
Zdefiniowane identyfikatory strefy to:
źródło