Выполнение сценариев powershell через командную строку - win7
У меня проблемы с запуском скрипта powershell. Каждый раз, когда я звоню или выполняю скрипт, я получаю приглашение безопасности, требующее ввода "R" для запуска. Я уже установил политику выполнения "неограниченно" и проверил ее. У кого-нибудь есть предложения?
Предупреждение безопасности: запускайте только те сценарии, которым доверяете. Хотя сценарии из Интернета могут быть полезны, сценарий может нанести вред вашему компьютеру. Вы хотите запустить C:\test\win7.ps1?
В настоящее время я запускаю скрипт powershell с помощью powershell.exe в cmd. Я также попытался запустить это непосредственно из powershell и получить то же сообщение об ошибке.
powershell -command C:\nst\win7.ps1 "var1" "var2" "var3"
Я также попытался запустить следующую команду через cmd:
powershell -executionpolicy unrestricted -command C:\nst\win7.ps1 "var1" "var2" "var3"
Скрипт 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
Любая помощь будет принята с благодарностью
1 ответ
Проблема в том, что файл, который вы пытаетесь выполнить, имеет альтернативный поток файлов, который указывает, что он пришел из Интернета. Чтобы сообщение исчезло, вам просто нужно удалить поток. Sysinternals имеет бесплатную утилиту streams.exe, которая может легко сделать это за вас. (Важно отметить, как указано в сообщении, что если файл действительно поступил из общедоступного Интернета, вы должны быть осторожны при его выполнении и убедиться, что вы полностью понимаете, что он собирается делать.)
Как только у вас есть streams.exe, команда будет:
streams.exe -d C:\nst\win7.ps1
Просмотр альтернативного потока из командной строки может быть сложным, однако, notepad++ может открыть их. В моей системе команда будет:
"c:\Program Files (x86)\Notepad++\notepad++.exe" "e:\temp\test.ps1:Zone.Identifier:$DATA"
Кроме того, если вам интересно, поток, дающий вам все горе, содержит:
[ZoneTransfer]
ZoneId=3
Определенные идентификаторы зон:
Local machine = 0
Intranet = 1
Trusted = 2
Internet = 3
Restricted = 4