3

我正在尝试优化登录脚本,使其尽可能健壮和快速执行。

该脚本记录了许多驱动器,我可以看到我可以使用:

(New-Object -ComObject WScript.Network).MapNetworkDrive("X:", \\myserver\myshare))

或者

net use x: \\myserver\myshare

映射驱动器。

哪个是“更好”的方式?“传统”方式似乎更健壮,但比新方法慢。

当我测试驱动器是否存在时,我也会遇到一些奇怪的事情。即使它们显示在资源管理器中,有时当我测试时:

if (test-path x:) { write "Drive mapped already" }

它不输出任何结果。这似乎只在某些时候发生,但我还没有弄清楚这种模式。

谢谢,

4

1 回答 1

4

使用“net use”映射驱动器不会自动使其在 powershell 中作为 PSDrive 可见。不幸的是,它们不是一回事。Test-Path 仅检查 PSPath,它是指向 powershell 提供程序的 UNC 路径或 PSDrive(或提供程序限定的文件系统::c:)。

这是为什么 powershell 不是登录脚本的最佳 shell 的众多原因之一。

-Oisin

于 2010-07-15T18:55:58.193 回答