Novo no script e precisa de ajuda para executar o script powershell para implantar o software. (execução bloqueada do powershell) [fechada]

0

O script a seguir foi escrito para mim. Meu problema é que, quando nosso sistema de implementação remota executa o script, o Powershell na máquina local não executará o script. Não tem problema em rodar .vbs embora. Para encurtar a história, nosso software de implantação remota copia esse arquivo .zip para todas as máquinas que não estão conectadas ao nosso domínio. Este script, então, deve descompactar os arquivos em um local específico.

Sem ficar muito mais complexo, existe uma maneira de converter essa função em um .vbs fácil ou seria possível usar um comando em lote para permitir que o PowerShell execute esse script em todas as estações de trabalho que eu preciso? / p>

Set oShell = CreateObject( "WScript.Shell" )
user=oShell.ExpandEnvironmentStrings("%UserName%")
comp=oShell.ExpandEnvironmentStrings("%ComputerName%")
USRPROFILE = oshell.expandenvironmentstrings("%UserProfile%")
Appdata = USRProfile & "\AppData\"
sZipFile = "C:\ProgramData\CentraStage\Packages7fa3f4-6b60-4ec5-94b9-fc1716d53ea9#\vidistar.zip"
sTargetFolder = appdata
Dim oShellApp:Set oShellApp = CreateObject("Shell.Application")
Dim oFSO:Set oFSO = CreateObject("Scripting.FileSystemObject")
    'Create the target folder if it isn't already there
If not oFSO.FolderExists(sTargetFolder) Then
    oFSO.CreateFolder sTargetFolder
    wscript.echo sTargetFolder & "  Folder Has Been Created "
end if
'Extract the files from the zip into the folder
oShellApp.NameSpace(sTargetFolder).CopyHere oShellApp.NameSpace(sZipFile).Items
    
por Mike 29.01.2015 / 20:28

2 respostas

1

Esse exemplo de código se parece com o VBScript, não com o PowerShell. Tente executá-lo com cscript .

Ou, se o sistema de implantação remota souber como executar arquivos .vbs, basta alterar a extensão de .ps1 para .vbs.

    
por 29.01.2015 / 20:46
0

Aqui está uma boa dica:

Get-Help Set-ExecutionPolicy

e

Get-Help about_execution_policies

A grande questão aqui é: suas máquinas de destino podem rodar scripts não assinados? O PowerShell tem diferentes restrições em vigor com base na sessão e, geralmente fora da caixa, você descobrirá que a política é Restrita.

Você pode definir a política de execução por meio da Diretiva de Grupo em máquinas associadas ao domínio, e isso geralmente é preferível.

    
por 29.01.2015 / 20:49