You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PowerShell映射网络驱动器:二次运行跳过凭据请求且报错密码错误

问题原因分析

你的问题核心是Windows凭据管理器缓存了错误/过期的凭据,加上Remove-PSDrive仅移除PowerShell层面的驱动器映射,并未彻底断开系统级的SMB连接,导致第二次运行脚本时,系统自动复用缓存的无效凭据,跳过输入步骤直接报错。

Windows 11家庭版和专业版的差异在于:家庭版缺少部分组策略控制项,默认的凭据缓存机制更“顽固”,不会自动清理无效的SMB连接凭据,而专业版在某些场景下会自动失效旧凭据。

修正后的脚本方案

修改脚本,加入彻底断开SMB连接、清除缓存凭据的步骤,确保每次运行都重新获取有效凭据:

# 彻底断开所有到目标服务器的SMB连接(替换为你的服务器名)
net use \\host /delete /y 2>$null

# 清除凭据管理器中对应服务器的缓存凭据
cmdkey /delete:host 2>$null

# 移除PowerShell驱动器映射(兼容旧连接)
Remove-PSDrive -Name "P" -ErrorAction SilentlyContinue
Remove-PSDrive -Name "T" -ErrorAction SilentlyContinue

$User = "DOMAIN\username"
$Credential = Get-Credential -UserName $User -Message "Enter password"

# 重新映射驱动器
New-PSDrive -Name "P" -PSProvider FileSystem -Root "\\host\Dir_A" -Credential $Credential -Persist
New-PSDrive -Name "T" -PSProvider FileSystem -Root "\\host\Dir_B" -Credential $Credential -Persist
关键修改说明
  • net use \\host /delete /y:直接断开系统级的SMB连接,避免残留的连接会话干扰新映射
  • cmdkey /delete:host:强制删除凭据管理器中存储的该服务器凭据,确保Get-Credential会重新弹出输入框
  • -ErrorAction SilentlyContinue:避免因驱动器未映射时执行Remove-PSDrive报错,让脚本更健壮
额外注意事项
  • 如果你的服务器是IP地址,把host替换为对应的IP(比如\\192.168.1.100和192.168.1.100)
  • 若仍有问题,可手动打开凭据管理器(控制面板→用户账户→凭据管理器),找到对应服务器的Windows凭据并删除后再测试

内容的提问来源于stack exchange,提问作者Saren Tasciyan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.22 09:35:01