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

通过PowerShell远程更新IIS站点物理路径及站点查询问题

连接远程IIS服务器并更新站点物理路径的最简方法

问题原因

你的脚本报错是因为本地机器未安装IISAdministration模块,且即使安装了,直接本地调用模块也无法连接远程IIS——IIS管理模块需要在目标服务器端运行,而非本地。

最简实现步骤

要远程操作IIS,核心是通过PowerShell远程会话(WinRM)在目标服务器上执行命令,无需在本地安装IIS模块。

1. 确保目标服务器开启PowerShell远程(若未开启)

在目标服务器上以管理员权限执行一次:

Enable-PSRemoting -Force

2. 远程连接并操作IIS的脚本示例

示例1:远程列出所有IIS站点
# 替换为你的远程服务器地址、管理员账户信息
$serverName = "远程服务器IP或主机名"
$credential = Get-Credential -Message "输入远程服务器管理员账户"

# 远程执行命令,在服务器端加载模块并获取站点
Invoke-Command -ComputerName $serverName -Credential $credential -ScriptBlock {
    Import-Module IISAdministration
    Get-IISSite | Select-Object Name, PhysicalPath
}
示例2:更新指定站点的物理路径
$serverName = "远程服务器IP或主机名"
$credential = Get-Credential
$siteName = "你的目标站点名称"
$newPhysicalPath = "D:\NewDeployPath"

Invoke-Command -ComputerName $serverName -Credential $credential -ScriptBlock {
    Import-Module IISAdministration
    $site = Get-IISSite -Name $using:siteName
    $site.Applications["/"].VirtualDirectories["/"].PhysicalPath = $using:newPhysicalPath
    $site | Set-IISSite
}

关键说明

  • Invoke-Command会直接在远程服务器上执行脚本块,模块加载和命令执行都在服务器端完成,彻底规避本地依赖问题。
  • $using:关键字用于在远程脚本块中引用本地定义的变量(如站点名称、新路径)。
  • 域环境下,若当前登录账户拥有远程服务器的管理员权限,可省略-Credential参数。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 23:57:46