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

PowerShell从映射网络驱动器运行安装脚本报错求助

解决PowerShell找不到映射网络驱动器Z盘的问题

错误原因

管理员权限启动的PowerShell会话和普通用户会话属于不同的安全上下文,普通用户映射的Z盘不会被管理员会话继承,所以脚本会提示找不到Z盘。

解决方案1:直接使用UNC路径(推荐)

跳过盘符映射,直接用网络共享的UNC路径访问文件,这是最稳定的方式,能避免盘符冲突和权限上下文问题。

修改后的脚本示例:

# 替换为你的网络共享UNC路径,格式为\\服务器名称\共享文件夹名
$folderPath = "\\FileServer\SharedFolder\HD\NEW PC SET UP\chrome"
$exeFileName = "ChromeSetup.exe"
$exePath = Join-Path -Path $folderPath -ChildPath $exeFileName

if(Test-Path $exePath -PathType Leaf){
    Start-Process -FilePath $exePath
} else {
    Write-Host "Executable not found: $exePath"
}

解决方案2:在脚本中手动映射驱动器

如果必须使用盘符访问,可以在脚本里手动映射目标盘符,注意要确保运行脚本的账号拥有访问网络共享的权限。

示例脚本:

# 定义共享的UNC路径和要映射的盘符
$uncPath = "\\FileServer\SharedFolder"
$driveLetter = "Z"

# 检查盘符是否已存在,不存在则映射
if(-not (Get-PSDrive -Name $driveLetter -ErrorAction SilentlyContinue)){
    # -Persist参数会让映射在系统中保留(可选,不需要持久化可移除该参数)
    New-PSDrive -Name $driveLetter -PSProvider FileSystem -Root $uncPath -Persist
}

$folderPath = "$driveLetter`:\HD\NEW PC SET UP\chrome"
$exeFileName = "ChromeSetup.exe"
$exePath = Join-Path -Path $folderPath -ChildPath $exeFileName

if(Test-Path $exePath -PathType Leaf){
    Start-Process -FilePath $exePath
} else {
    Write-Host "Executable not found: $exePath"
}

# 可选:脚本结束后删除临时映射(如果不需要保留盘符)
# Remove-PSDrive -Name $driveLetter

注意事项

  • 确认运行脚本的账号(包括管理员账号)拥有该网络共享的访问权限,检查共享权限和NTFS权限设置。
  • 使用-Persist参数映射的盘符会在系统中持久保留,下次登录依然可见;不需要的话可以在脚本末尾用Remove-PSDrive删除。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 22:32:40