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

通过Ansible安装Windows 10 SNMP服务后未在services.msc中显示

Ansible显示SNMP安装完成,但services.msc中找不到该服务

通过Ansible在Windows 10系统上安装SNMP服务,Ansible输出显示安装已完成,但在services.msc中找不到对应的SNMP服务。

所用Playbook任务

tasks:
   - name: Install Service
     ansible.windows.win_powershell:
        script: add-WindowsCapability -Online -Name "SNMP.Client----0.0.1.0"

Ansible执行输出

changed: [10.65.150.240] => {
"changed": true,
"debug": [],
"error": [],
"host_err": "",
"host_out": "",
"information": [],
"invocation": {
    "module_args": {
        "arguments": null,
        "chdir": null,
        "creates": null,
        "depth": 2,
        "error_action": "continue",
        "executable": null,
        "parameters": null,
        "removes": null,
        "script": "add-WindowsCapability -Online -Name \"SNMP.Client----0.0.1.0\""
    }
},
"output": [
    {
        "LogLevel": {
            "String": "WarningsInfo",
            "Type": "Microsoft.Dism.Commands.LogLevel",
            "Value": 2
        },
        "LogPath": "C:\\windows\\Logs\\DISM\\dism.log",
        "Online": true,
        "Path": null,
        "RestartNeeded": false,
        "ScratchDirectory": null,
        "SysDrivePath": null,
        "WinPath": null
    }
],
"result": {},
"verbose": [],
"warning": []
}

排查与解决步骤

  • 验证SNMP组件安装状态
    登录目标Windows 10机器,打开PowerShell执行以下命令,确认组件是否真的安装:

    Get-WindowsCapability -Online | Where-Object Name -like "*SNMP*"
    

    若输出中State字段为Installed,说明组件已安装,但服务未启用;若为NotPresent,则说明之前的安装命令未成功执行。

  • 启用并启动SNMP服务
    SNMP.Client组件安装后,默认不会自动启用服务。可以给Playbook添加以下任务来启用服务:

    - name: Enable and start SNMP service
      ansible.windows.win_service:
        name: SNMP
        state: started
        start_mode: auto
    

    也可以在目标机器上手动执行PowerShell命令:

    Set-Service -Name SNMP -StartupType Automatic
    Start-Service SNMP
    
  • 检查DISM安装日志
    参考Ansible输出中的LogPath路径(C:\windows\Logs\DISM\dism.log),查看详细安装日志,排查是否有隐藏的错误或警告,确认组件安装过程是否正常。

  • 适配Windows版本的组件名称
    不同Windows 10版本的SNMP组件名称可能略有差异,建议使用动态匹配的方式安装,避免名称错误:

    - name: Install SNMP Client
      ansible.windows.win_powershell:
        script: Add-WindowsCapability -Online -Name (Get-WindowsCapability -Online | Where-Object Name -like '*SNMP.Client*').Name
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 07:50:17