当前位置: 首页 > news >正文

PsTools 学习笔记(7.2):通用功能与远程操作基础

PsTools 学习笔记(7.2):通用功能与远程操作基础

  • PsTools 学习笔记(7.2):通用功能与远程操作基础
    • 一、命令行约定:先把共性吃透
    • 二、远程目标写法与解析规则
    • 三、备用凭据与安全要点
    • 四、输出与返回码:怎么“收口”最靠谱
    • 五、批量执行三连:采集 → 变更 → 验证
      • 1) 采集:系统信息与磁盘空间
      • 2) 变更:远程重启某项服务(示例:Spooler)
      • 3) 验证:探测服务状态 + 进程存在性
    • 六、常见连接问题一图流(简表版)
    • 七、脚本化最佳实践
    • 八、即抄即用的“远程体检”一条龙(单机)
    • 结语

PsTools 学习笔记(7.2):通用功能与远程操作基础

这一篇聚焦 通用命令行约定、远程目标写法、凭据与安全、输出与返回码、批量执行套路。读完即可稳妥地把 PsTools 跑起来,为后续各子工具进阶打底。


一、命令行约定:先把共性吃透

  • 帮助:多数 PsTools 支持 /? 显示用法(或直接不带参数运行)。

  • 静默接受协议-accepteula 首次运行不弹出协议对话框(适合脚本/CI)。

  • 去掉横幅-nobanner 让输出更“干净”,便于重定向/比对。

  • 远程目标前缀:统一用 \\计算机名\\IP 指定目标。

  • 多目标批量(以 PsExec 为例):

    • 逗号分隔:\\PC01,PC02,PC03
    • @清单文件\\@C:\hosts.txt(每行一个主机名)
  • 返回码:除特殊选项外(例如 PsExec 的 -d),工具会把远端进程的退出码作为自身退出码返回,可直接用 ERRORLEVEL 判断。

小贴士:PsTools 的帮助开关是 /?。不同于某些工具里的 -h。在 PsTools 家族中,-h 常常不是帮助(例如 PsExec 中 -h 表示“以提升令牌执行”)。


二、远程目标写法与解析规则

  • 单机\\PC-001 / \\10.10.10.10
  • 多机\\PC-A,PC-B\\@C:\hosts.txt
  • 域环境:优先使用 FQDN(DNS 必须可解析),时间要同步(Kerberos)。
  • 工作组:推荐显式 -u / -p 指定凭据,或使用统一的本地管理员账户(合规前提)。

示例(PsExec 批量执行):

psexec \\@C:\hosts.txt -accepteula -nobanner ipconfig /all

三、备用凭据与安全要点

  • 显式凭据-u 域\用户 -p 密码。仅给 -u安全提示输入密码

  • 最小权限:仅授予所需权限的域账户,避免使用域管做日常任务。

  • UAC/本地管理员限制(工作组常见):
    若远程执行遭遇权限被“降权”,可在合规评估后于目标机设置:

    reg add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System ^/v LocalAccountTokenFilterPolicy /t REG_DWORD /d 1 /f
    
  • 防火墙与端口:SMB 445/TCP、RPC 135/TCP + 动态 RPC 端口(默认 49152–65535/TCP)需可达;开启“文件和打印机共享”。

  • 安全软件白名单:允许 PsTools 创建/运行远程服务(如 PsExec 的 PSEXESVC)。

示例(显式凭据):

psexec \\PC-001 -u CORP\ops -p ******** whoami /groups

四、输出与返回码:怎么“收口”最靠谱

  • 标准输出/错误:默认回显到本机控制台,可直接重定向到文件。
  • 远端返回码:不加 -d 的情况下,%ERRORLEVEL% 即为远端进程退出码。

把每台主机的结果落到独立文件里(批处理写法):

@echo off
set LOG=D:\psexec-logs
if not exist "%LOG%" md "%LOG%"
for /f %%h in (C:\hosts.txt) do (echo === %%h ===psexec \\%%h -accepteula -nobanner ipconfig /all > "%LOG%\%%h.txt" 2>&1echo ExitCode=!ERRORLEVEL! >> "%LOG%\%%h.txt"
)

五、批量执行三连:采集 → 变更 → 验证

PsInfo / PsService / PsExec 为例,给出一个“可复制”的批量套路。

1) 采集:系统信息与磁盘空间

for /f %%h in (C:\hosts.txt) do (psinfo \\%%h -accepteula -nobanner -d -h > D:\audit\%%h-sysinfo.txt
)

-d 输出磁盘信息;-h 在 PsInfo 中表示包含 Hotfix 列表(不是帮助)。

2) 变更:远程重启某项服务(示例:Spooler)

for /f %%h in (C:\hosts.txt) do (psservice \\%%h -accepteula -nobanner stop Spoolerpsservice \\%%h -accepteula -nobanner start Spooler
)

3) 验证:探测服务状态 + 进程存在性

for /f %%h in (C:\hosts.txt) do (psservice \\%%h -nobanner query Spooler > D:\audit\%%h-spooler.txtpslist   \\%%h -nobanner spoolsv       >> D:\audit\%%h-spooler.txt
)

六、常见连接问题一图流(简表版)

现象常见原因速修建议
Access is denied非管理员 / UAC 限制 / Admin$ 关闭用管理员凭据;开启 Admin$;必要时调整上文策略
The RPC server is unavailable135/动态端口被拦放行 RPC / 动态端口;确认主机在线
The network path was not foundDNS 解析失败 / 名称错误用 FQDN 或 IP 测试;校验 DNS 记录
长时间卡住防火墙/EDR 拦截 PSEXESVC加白名单;在变更窗口测试
返回码异常使用了 -d(不等待)去掉 -d,或改为拉取日志验证

详细排错会在 7.3《远程 PsTools 连接排错》 展开。


七、脚本化最佳实践

  • -accepteula -nobanner 常驻,日志更干净。
  • 日志分主机+时间戳%DATE%_%TIME% 或 ISO 时间,便于回溯。
  • 先单机后批量:试点成功再并发跑。
  • 权限最小化:按任务拆分服务账号。
  • 加入“探测—执行—回验”闭环:每一步有证据链。

八、即抄即用的“远程体检”一条龙(单机)

:: 1) 通断与身份
psexec \\PC-001 -nobanner whoami && echo OK || echo FAIL:: 2) 基本资产
psinfo \\PC-001 -nobanner -d -h > D:\audit\PC-001\sysinfo.txt:: 3) 当前登录用户 & 打开的共享文件
psloggedon \\PC-001            > D:\audit\PC-001\logon.txt
psfile    \\PC-001             > D:\audit\PC-001\shares.txt:: 4) 服务健康(示例:WinRM)
psservice \\PC-001 query WinRM > D:\audit\PC-001\winrm.txt

结语

掌握了 通用选项、凭据与远程目标写法,你就能把 PsTools 很稳地纳入日常运维与自动化流水线。下一篇我们深入 7.3《远程 PsTools 连接排错》,系统化解决 “连不通、没权限、被拦截、卡超时” 等顽疾,让你的远程操作成功率直线上升。

http://www.dtcms.com/a/545048.html

相关文章:

  • 做网站浏览器必须用xp系统吗张掖市作风建设年活动网站
  • 内江网站建设公司清华建设工程有限公司公司网站
  • VxWorks入门小白菜鸟教程4 —— 异步I/O库(AIO)的使用
  • 基于k8s部署wordpress博客系统并实现数据的持久化
  • SQL 查询语句的子句的执行顺序
  • sql 双游标循环
  • SQL 189 统计有未完成状态的试卷的未完成数和未完成率
  • 有哪些做微信小游戏的网站建设网站后期人员薪酬
  • 黑龙江交通基础设施建设网站怎么做推广网站
  • 企业微信AI SCRM推荐:从技术适配与场景功能实践进行评估
  • 从开源到落地:SimpleBGC 三轴稳像平台全栈技术解析(下)
  • 零基础新手小白快速了解掌握服务集群与自动化运维(十六)集群部署模块——Keepalived双机热备
  • 网站建设论坛做一个网站的流程
  • 金仓数据库平替MongoDB:银行存款系统国产化实践
  • 基于 Spring AI Alibaba 搭建 Text-To-SQL 智能系统(前置介绍)
  • 搞笑资讯网站源码数据库支持的网站怎么做
  • 友思特应用 | 基于高精度双目散斑 3D 相机的放射治疗视觉定位应用
  • MCU寄存器配置深度解析:从原理到实践
  • 论文学习_LLM4Decompile: Decompiling Binary Code with Large Language Models
  • 【日记】好耶!是新电脑!(3959 字)
  • Day73 嵌入式传感器技术全栈开发
  • 学历提升有几种方式长沙正规seo优化公司
  • 合肥网络公司 网站建设网站建设 预算
  • 23大数据 数据挖掘集合
  • Docker Compose曝路径遍历漏洞,可致任意覆写文件(CVE-2025-62725)
  • 网站可以分为哪些类型怎样优化自己的网站
  • Rust 模式匹配的穷尽性检查:从编译器证明到工程演进
  • C# Entity Framework Core 中的 Include 和 ThenInclude 详解
  • Linux如何远程控制Windows?rdesktop让跨系统操作像本地一样流畅
  • Spring Boot3零基础教程,JVM 编译原理,笔记87