executando scripts do powershell via prompt de comando - win7

1

Estou tendo problemas para executar um script do powershell automaticamente. Quando eu chamo ou executo o script, recebo um aviso de segurança solicitando que eu digite "R" para ser executado. Já defini a política de execução como "irrestrita" e verifiquei o seu conjunto. Alguém tem alguma sugestão?

Security Warning: Run only scripts that you trust. while scripts from the Internet can be useful, the script can potentially harm your computer. Do you want to run C:\test\win7.ps1?

Atualmente, estou executando o script powershell por meio da chamada powershell.exe no cmd. Eu também tentei executar isso diretamente do powershell e obter a mesma mensagem de erro.

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

Eu também tentei executar o seguinte comando via cmd:

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

Script do 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

Toda e qualquer ajuda seria muito apreciada

    
por Mpit52 04.09.2013 / 23:51

1 resposta

4

O problema é que o arquivo que você está tentando executar tem um fluxo de arquivo alternativo que indica que ele veio da Internet. Para fazer a mensagem desaparecer, basta excluir o fluxo. Sysinternals tem um utilitário gratuito chamado streams.exe que pode facilmente fazer isso por você. (É importante notar, como indicado na mensagem, que se o arquivo fez vir da Internet pública, você deve ser cauteloso ao executá-lo e certificar-se de que entende completamente o que vai fazer.)

Assim que você tiver o streams.exe, o comando será:

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

Visualizar o fluxo alternativo a partir da linha de comando pode ser complicado, mas o notepad ++ pode abri-los. No meu sistema, o comando seria:

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

Além disso, se você estiver curioso, o fluxo que contém todo o sofrimento contém:

[ZoneTransfer]
ZoneId=3

ZoneIds definidos são:

Local machine = 0
Intranet      = 1
Trusted       = 2
Internet      = 3
Restricted    = 4
    
por 05.09.2013 / 01:36