在Powershell中映射驱动器的“更好”方法是什么?

时间:2010-07-14 14:36:18

标签: powershell login-script

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

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

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

net use x: \\myserver\myshare

映射驱动器。

哪种“更好”的方式? “传统”方式似乎更强大,但比新方法慢。

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

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

它不会输出任何结果。这似乎只发生了某些,但我还没有解决这个问题。

谢谢,

1 个答案:

答案 0 :(得分:4)

使用“net use”映射驱动器不会自动使它在PowerShell中作为PSDrive显示。不幸的是,它们不是一回事。 Test-Path只检查PSPath,它是一个UNC路径或一个指向powershell提供者的PSDrive(或类似于filesystem :: c :)的提供者限定。

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

-Oisin