我有一个PowerShell v1脚本,通过映射驱动器连接到远程服务器,来回移动文件,远程服务器由驱动器号“M”和UNCpathREMOTESERVER \ DATA标识:
(M:) \\REMOTESERVER\DATA
当远程服务器重新启动时,我认为我搞砸了,因为现在映射的驱动器将无法被脚本访问。
这种情况如何在PowerShell脚本中以编程方式处理?
有没有办法通过编写一些PowerShell代码重新连接到映射驱动器?
这个问题不是映射的驱动器实际上消失了,而是在重新启动之后,需要身份validation,而Windows显然不会记住这一点。
只是好奇这是如何完成的?
有几种方法。 首先,您可以使用net use命令和驱动器的/persistent开关在服务器上映射驱动器,以在login时重新映射。 接下来,特别是在PowerShell中,您可以使用new-psdrive cmdlet映射驱动器,只需以这种方式引用驱动器,您甚至不需要驱动器盘符。
如果你select第二个选项,我要么确保脚本运行的任何上下文对共享有权限,要么这样做是不可能的,那么有一种方法可以将需要encryption的凭据存储在文本文件中,以便他们可以在需要的时候通过脚本导入,但作为一个谨慎的话,encryption是可逆的,以防万一有狡猾和愿意的人抓住你的脚本。
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