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

Remote-SSH连接Windows 2019服务器时PowerShell模块加载失败求助

解决Win10通过密钥认证SSH连接Win2019时PowerShell模块加载失败问题

问题现象

Win10客户端通过带密钥文件的SSH配置文件连接Windows 2019服务器后,执行依赖模块的PowerShell命令(如Get-ADComputer -Filter { (Enabled -eq $True) } -SearchBase $GsearchBaseOU)报错,手动执行Import-Module ActiveDirectory无报错但模块仍无法使用;但通过密码登录SSH或Putty连接时,模块加载正常。

可能原因

密钥认证的SSH会话未正确加载服务器端PowerShell系统配置文件,或OpenSSH服务运行账户权限不足,导致模块路径未初始化。

解决方案

  • 检查并手动加载配置文件
    登录后执行以下命令:

    # 查看当前会话的配置文件路径
    $PROFILE
    # 查看模块环境变量
    $env:PSModulePath
    

    对比密码登录时的PSModulePath值,若缺失系统模块路径,手动加载系统配置文件:

    . $PROFILE.AllUsersAllHosts
    

    加载完成后再尝试导入模块。

  • 修改OpenSSH服务运行账户

    1. 打开服务管理器,找到OpenSSH SSH Server服务;
    2. 右键选择「属性」→「登录」选项卡;
    3. 选择「本地系统账户」,勾选「允许服务与桌面交互」;
    4. 重启服务后,用密钥连接测试模块加载。
  • 在SSH配置中强制加载模块
    编辑客户端的SSH配置文件C:\Users\[redacted]\.ssh\config,给目标服务器添加RemoteCommand配置:

    Host serverName
        HostName 服务器IP或域名
        User 用户名
        IdentityFile C:\路径\到\你的\私钥文件
        RemoteCommand powershell -NoExit -Command "Import-Module ActiveDirectory; . $PROFILE"
    

    保存后重新连接,PowerShell会自动加载指定模块和配置文件。

  • 给模块文件夹添加权限

    1. 找到ActiveDirectory模块路径(默认C:\Windows\System32\WindowsPowerShell\v1.0\Modules\ActiveDirectory);
    2. 右键文件夹→「属性」→「安全」→「编辑」→「添加」;
    3. 输入NETWORK SERVICE,勾选「读取和执行」权限,应用设置后测试。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 01:25:21