Como posso executar scripts do PowerShell a partir de pastas compartilhadas do VirtualBox ao usar a política de execução assinada remota?

3

Estou usando o VirtualBox com uma pasta compartilhada mapeada para o drive E :. Eu quero executar um script do PowerShell da unidade E :. Eu coloquei:

Set-ExecutionPolicy Remotesigned

Adicionei file://vboxserver usando o diálogo avançado à intranet local.

Quando carrego "E:\System_Data_SQLClient_test.ps1" no PowerShell ISE, obtenho:

File E:\System_Data_SQLClient_test.ps1 cannot be loaded. The file E:\System_Data_SQLClient_test.ps1 is not digitally signed. The script will not execute on the system. Please see "get-help about_signing" for more details.

At line:0 char:0

Quando uso o caminho UNC para a pasta compartilhada, ele funciona:

\VBOXSVR\WSV-BK-7en64-C\System_Data_SQLClient_test.ps1

O que está faltando aqui para acessar o script por meio de uma letra de unidade?

    
por bernd_k 02.10.2011 / 15:27

2 respostas

4

bernd_k eu encontrei uma boa solução para executar todo o script que você tem na pasta compartilhada, crie um link simbólico para o compartilhamento, isso é tudo !!

Suponha que a localização real seja c: \ users \ x. Execute isso em cmd como admin:

 mklink /d NameforMyScriptFolder \vboxsvr\share\RealScriptFolder

então vá para essa pasta, no powershell como usuário normal e rode o que você quiser:

  cd c:\users\x\NameforMy*
  executewhateverscript.ps1 #:D

pd: altera o nome da pergunta porque não reflete o que você realmente pergunta.

    
por 04.10.2011 / 17:28
1

Eu finalmente encontrei a solução de trabalho

Add file://vboxsvr to Local Intranet Sites

Set-ExecutionPolicy RemoteSigned

mklink /d hostfiles \VBOXSVR\WSV-BK-7en64-C

Obrigado ao voodoomsr por dar essa alternativa, evitando letras de drive.

O principal problema é lembrar a sintaxe correta ao adicionar o compartilhamento à Intranet local.

    
por 09.10.2011 / 12:36