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

编写PowerShell脚本实现远程Windows设备本地管理员检测与结果上报

远程本地管理员账户检测脚本实现思路

远程检测模块设计

  • 连接方式优先采用CIM会话:通过New-CimSession建立和目标远程设备的加密连接,相比传统WMI调用稳定性更高、权限校验开销更小,适合批量远程查询场景
  • 检测逻辑避开易受系统语言、自定义配置影响的硬编码匹配:内置本地管理员账户的唯一固定标识是用户SID后缀为-500,查询时直接从目标设备的Win32_UserAccount类中筛选LocalAccount = True且SID.EndsWith("-500")的条目,只要查询结果非空,就判定该账户存在——不受账户被重命名、状态被修改的影响,检测准确率更高
  • 增加全链路异常捕获:把目标机器网络不通、WinRM服务未启用、执行账号权限不足等连接/查询类错误,统一纳入检测结果字段,避免脚本无提示中断

结果上报与通知模块设计

  • ManageEngine Desktop Central上报适配:
    • 利用目标设备已安装的Desktop Central本地Agent能力上报检测结果,脚本直接调用Agent自带的命令行提交接口,把结构化的检测结果(设备标识、内置管理员存在状态、检测时间、异常信息)按要求的字段格式推送即可,不需要在脚本内硬编码服务端地址、认证密钥,降低凭证泄露风险
  • 邮件通知兜底逻辑:
    • 用PowerShell原生的Send-MailMessage组件对接内部SMTP服务器发信,不需要引入第三方依赖
    • 通知内容按风险等级区分:检测到内置管理员账户存在为高优先级告警,附上目标设备名、账户当前状态;远程连接失败为中优先级告警,附上具体报错原因,方便运维快速定位

落地注意事项

  • 执行权限校验:运行脚本的账号必须对目标远程设备有管理员级别的远程访问权限,否则会被WinRM拦截连接请求,无法获取本地账户的查询结果
  • 执行策略适配:脚本开头增加进程级的执行策略配置Set-ExecutionPolicy -Scope Process Bypass,避免本地默认执行策略拦截脚本运行
  • 结果本地缓存:每台设备的检测结果先临时写入本地CSV文件留存,等上报、通知流程全部跑完再清理临时文件,避免上报链路异常导致检测结果丢失

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.11.01 01:15:01