服务器重启后从 PowerShell 脚本重新连接到映射驱动器

服务器重启后从 PowerShell 脚本重新连接到映射驱动器

我有一个 PowerShell v1 脚本,它通过映射驱动器连接到远程服务器并来回移动文件,远程服务器由驱动器号“M”和 UNC 路径 REMOTESERVER\DATA 标识:

(M:) \\REMOTESERVER\DATA

当远程服务器重新启动时,我认为我被搞砸了,因为现在脚本无法访问映射驱动器。

如何在 PowerShell 脚本中以编程方式处理这种情况?

有没有办法通过编写一些 PowerShell 代码来重新连接到映射驱动器?

问题不在于映射驱动器何时真正消失,而在于重新启动后需要进行身份验证,而 Windows 显然不会记住这一点。

只是好奇这是如何实现的?

答案1

有几种方法。首先,您可以使用net use带有开关的命令在服务器上映射驱动器/persistent,以便在登录时重新映射驱动器。其次,具体在 powershell 中,您可以使用 cmdlet 映射驱动器new-psdrive,然后以这种方式引用驱动器,您甚至不需要驱动器号。

如果您选择第二种选择,我会确保脚本运行的任何上下文都具有共享权限,或者如果这不可能,那么您可以将所需的凭据加密存储在文本文件中,以便脚本可以在需要时导入它们,但需要注意的是,加密是可逆的,以防有人狡猾且愿意掌握您的脚本。

http://technet.microsoft.com/en-us/library/hh849829.aspx

http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/net_use.mspx?mfr=true

相关内容