使用远程签名执行策略时,如何从 VirtualBox 共享文件夹运行 PowerShell 脚本?

使用远程签名执行策略时,如何从 VirtualBox 共享文件夹运行 PowerShell 脚本?

我正在使用 VirtualBox,并将共享文件夹映射到驱动器 E:。我想从驱动器 E: 运行 PowerShell 脚本。我设置:

Set-ExecutionPolicy Remotesigned

我已将file://vboxserver高级对话框添加到本地内联网。

当我加载"E:\System_Data_SQLClient_test.ps1"到 PowerShell ISE 时,我得到:

无法加载文件 E:\System_Data_SQLClient_test.ps1。文件 E:\System_Data_SQLClient_test.ps1 未经数字签名。该脚本不会在系统上执行。请参阅“get-help about_signing”了解更多详细信息。

位于行:0 字符:0

当我使用共享文件夹的 UNC 路径时,它可以工作:

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

这里缺少什么才能通过驱动器号访问脚本?

答案1

bernd_k 我找到了一个很好的解决方案来执行共享文件夹中的所有脚本,创建指向共享的目录符号链接,就这样!!

假设实际位置是 c:\users\x。以管理员身份在 cmd 中运行此命令:

 mklink /d NameforMyScriptFolder \\vboxsvr\share\RealScriptFolder

然后以普通用户身份在 powershell 中转到该文件夹​​并运行您想要的任何内容:

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

pd:更改问题的名称,因为它不能反映您真正询问的问题。

答案2

我终于找到了可行的解决方案

Add file://vboxsvr to Local Intranet Sites

Set-ExecutionPolicy RemoteSigned

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

感谢 voodoomsr 提供这种避免驱动器号的替代方法。

主要问题是将共享添加到本地 Intranet 时要记住正确的语法。

相关内容