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

Enter-PSSession使用限制:远程AD Sync合并脚本无法生效求助

远程AD Sync同步脚本执行问题解决

问题根源

直接把Enter-PSSession、模块导入和同步命令写在同一份脚本里跑不通,核心原因是Enter-PSSession是交互式远程会话命令——它只会切换到远程的交互环境,但脚本里后续的命令仍然在本地PowerShell进程执行,不会自动进入远程会话,这就是你看不到会话切换、命令失效的原因。

正确实现方案

方案1:用Invoke-Command直接执行远程脚本块

这是最省事的方式,把要在远程执行的命令打包成脚本块,通过Invoke-Command直接在目标服务器上运行:

Invoke-Command -ComputerName "你的服务器名称" -ScriptBlock {
    Import-Module adsync
    Start-ADSyncSyncCycle -PolicyType Delta
}

如果需要指定特定账户执行,加上-Credential参数即可:

$cred = Get-Credential
Invoke-Command -ComputerName "你的服务器名称" -Credential $cred -ScriptBlock {
    Import-Module adsync
    Start-ADSyncSyncCycle -PolicyType Delta
}

方案2:先建立持久会话再执行命令

要是需要多次执行远程操作,可以先创建一个持久会话,再通过会话执行命令:

# 建立远程会话
$session = New-PSSession -ComputerName "你的服务器名称"

# 在会话内执行同步命令
Invoke-Command -Session $session -ScriptBlock {
    Import-Module adsync
    Start-ADSyncSyncCycle -PolicyType Delta
}

# 用完关闭会话
Remove-PSSession -Session $session

关键注意点

  • 确保目标服务器已启用WinRM服务,防火墙允许WinRM端口(默认5985/5986)
  • 执行脚本的账户必须有目标服务器的管理员权限,以及AD Sync的操作权限
  • 要是之前用Invoke-Command没成功,检查服务器名称是否拼写正确、权限是否足够,或者模块是否需要指定完整路径(不过Import-Module adsync在AD Sync服务器上通常无需额外路径)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 21:22:04