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

使用dotnet-install.ps1远程安装.NET 8 SDK时出现误判已安装问题

问题场景

环境:PowerShell 5.1,本地为Win10 Pro系统,远程目标是未安装任何.NET SDK的Windows Server 2022
本地执行脚本rsexe1.ps1:

Invoke-Command -ComputerName Server1 -Credential $credential {
  c:\temp\dotnet-install.ps1 -Version 8.0.300 | Out-Null
}

执行后收到错误反馈(实际SDK并未安装成功):

PS C:\temp> .\rsexe1.ps1
dotnet-install: .NET Core SDK 版本 '8.0.300' 已安装。
dotnet-install: 将以下路径添加到当前进程的PATH:"C:\Users\rsrem\AppData\Local\Microsoft\dotnet"。注意:如果PowerShell作为子进程运行,此更改将不可见。
PS C:\temp>

排查与解决步骤

  • 清理远程用户目录残留
    dotnet-install.ps1默认会把SDK安装到当前用户的AppData\Local\Microsoft\dotnet目录,远程会话使用的rsrem用户目录可能存在之前的安装残留文件或配置,导致脚本误判。先在远程会话执行清理:
Remove-Item -Path "C:\Users\rsrem\AppData\Local\Microsoft\dotnet" -Recurse -Force -ErrorAction SilentlyContinue
  • 指定全局安装路径
    避开用户目录的干扰,强制指定全局安装路径(需管理员权限),修改脚本如下:
Invoke-Command -ComputerName Server1 -Credential $credential {
  c:\temp\dotnet-install.ps1 -Version 8.0.300 -InstallDir "C:\Program Files\dotnet" | Out-Null
}
  • 验证安装结果
    安装后在远程会话中确认是否真的安装成功:
Invoke-Command -ComputerName Server1 -Credential $credential {
  if (Test-Path "C:\Program Files\dotnet\dotnet.exe") {
    & "C:\Program Files\dotnet\dotnet.exe" --version
  } else {
    Write-Host ".NET SDK未安装成功"
  }
}
  • 检查执行策略
    确保远程服务器允许运行PowerShell脚本,可执行:
Invoke-Command -ComputerName Server1 -Credential $credential {
  Set-ExecutionPolicy RemoteSigned -Scope CurrentUser -Force
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 19:12:21