我需要能够在计算机登录期间通过 Powershell 脚本映射几个驱动器。到目前为止我拥有的脚本(感谢在这个论坛上的帮助)如下
while ($true)
{
try
{
$Credential = $host.ui.PromptForCredential("Need credentials", "Please enter your user name and password.", "", "NetBiosUserName")
# Prevent cancel that maps PSDrive anyway
if ($Credential)
{
New-PSDrive -Name "T" -PSProvider FileSystem -Root \\servername\share -Persist -Credential $Credential -ErrorAction Stop
}
else
{
throw [System.ComponentModel.Win32Exception]::new(0x80004005) # Invalid login and/or password
}
"OK"
# PSSDrive created, exiting the infinite loop
break
}
catch
{
Write-Warning "Wrong Username and/or password, please retry..."
}
}
"Continue"
问题是,当我在上面的驱动器下添加另一个要映射的驱动器时,就像这样
New-PSDrive -Name "P" -PSProvider FileSystem -Root \\servername\share -Persist -Credential $Credential -ErrorAction Stop
New-PSDrive -Name "T" -PSProvider FileSystem -Root \\servername\share -Persist -Credential $Credential -ErrorAction Stop
脚本只是循环显示“错误的用户名/密码......”消息
如果我注释掉任一驱动器映射行,它就可以正常工作
任何帮助将不胜感激 谢谢
答案 0 :(得分:0)
仅尝试此操作以查看错误
Remove-PSDrive -Name T
$Credential=$null
$Credential = $host.ui.PromptForCredential("Need credentials", "Please enter your user name and password.", "", "NetBiosUserName")
New-PSDrive -Name "T" -PSProvider FileSystem -Root \\server\share -Persist -Credential $Credential -ErrorAction Stop