我正在使用 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 时要记住正确的语法。