广州网站推广¥做下拉去118cr,技成培训网,桂林网站建设设计,可信的昆明网站建设大多数刚入门的管理员都习惯使用 RDP 或其它类似的工具连接到远程 Windows 中进行图形化管理。而 PowerShell 及 PsTools 等工具可以帮助我们在命令行中执行相当多的管理任务#xff0c;更主要的是可以将其写成脚本来执行周期性重复任务或在管理大批量服务器时提高效率。在企业…大多数刚入门的管理员都习惯使用 RDP 或其它类似的工具连接到远程 Windows 中进行图形化管理。而 PowerShell 及 PsTools 等工具可以帮助我们在命令行中执行相当多的管理任务更主要的是可以将其写成脚本来执行周期性重复任务或在管理大批量服务器时提高效率。在企业环境中掌握更多的命令行工具不仅可以节省时间以更聪明和智能的方式完成工作更是一个系统管理员所必需掌握的关键技能。作为 Sysinternals 工具包中的一个子集PsTools 本身就有十来个命令行小工具下面我们会逐个为大家进行介绍PsExec – 在远程计算机执行命令PsFile – 查看打开的网络文件PsGetSid – 获取 Machine SIDPsInfo – 查看简要系统信息PsKill – 按进程名或PID杀掉进程PsList – 列出进程信息PsLoggedOn – 显示已登的会话PsLogList – 命令行获取 event logPsPasswd – 更改用户密码PsPing – 简单的tcp/udp连接测试工具PsService – Windows 服务管理命令PsShutdown – 关机、注销命令PsSuspend – 暂停或恢复某个进程以上所有命令都可以直接在本地计算机上使用不过 PsTools 设计出来就是为了方便对远程 PC 进行管理的。连接远程计算机PsTools 所有工具连接远程计算机都可以使用同一个通用语法例如psinfo \pc1,pc2,pc3双斜杠后面可以直接跟计算机名(可以解析netbios)、IP 地址或 FQDN也可以在命令后跟多台计算机以实现批量。如果你不是以域管理员等有权限的用户来执行命令、没有域环境或者需要手动指定有权限的远程用户可用 -u 参数指定用户-p 参数指定密码。psinfo \computername –u user –p Password如果是域环境需要将用户写为「DOMAINuser」样式。配置远程管理权限PsTools 工具在域中可以工作得非常好管理员不必考虑过多的权限问题。但对于工作组环境中的 Windows Vista/7/8/10需要调整远程计算机上的用户账户控制(UAC)之后 PsTools 工具才能正常运行。即便你是远程目标 PC 的 Local Administrators 组成员在使用命令行进行远程连接时还是会使用类似 net use * \remotecomputerShare$ 的方式这不被 Windows 视为有完全管理员权限。因为连接到远程计算机需要有权限才能执行管理任务命令行连接方式也无法触发 UAC所以直接远程连接使用 PsTools 工具远程连接工作组计算机会报权限错误。要保证 PsTools 工具能在工作组环境中正常使用你需要更改注册表HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionPoliciesSystem在上述注册表路径中创建一个名为 LocalAccountTokenFilterPolicy 的 32 位 DWORD 值并将其值设置为 1 即可。PsExecPsExec 是 PsTools 工具系列中最为常用的一个命令行工具它可以让我们在本地或远程计算机上「运行」任何东西包括更改注册表、执行脚本或应用程序等。参数类似psexec \计算机名 apptorun.exe 例如你想查看某个远程计算机的 TCP/IP 配置可以使用如下命令psexec \计算机名 -u User -p Password ipconfig如果你将命令输出重定向到一个文件中可以使用常见的 command.exe output.txt 方式这种方式对 PsExec 命令同样适用例如我们可以使用类似如下命令将 netstat -an 的输出保存到本地文本文件中psexec \计算机名 netstat -an C:etstat.txt如果你想将命令的重定向输出结果直接保存到远程 PC 当中可以使用很少有人知道的 ^ 这个Windows 命令行转义符例如psexec \计算机名 cmd /c netstat -an ^ C:userssysgeeketstat.txt拷贝命令到远程PC有时我们需要执行的 CDM 外部命令并没有存在于远程计算机当中此时我们可以使用 PsExec 的 -c 参数来指定一个存放于管理员本地的外部命令或应用。当我们执行命令时PsExec 会自动将所指定的应用复制到远程 PC 中执行并在执行完成后自动删除。例如psexec \计算机名 -c autorunsc.exe –accepteulaPsFilepsfile 命令可以显示本地或远程 PC 中通过网络打开的文件其类似于命令行中的 net file 命令及我们之前介绍过的 NetworkOpenedFiles 图形界面工具。psfile \计算机名如果你想中断某个共享的访问连接可以使用 -c 参数psfile \计算机名 –cPsInfoPsInfo 主要用于显示 Windows 操作系统版本、系统运行时长及个别硬件的简单信息如果你想获取更详尽的信息可以使用 -d(磁盘信息)、-h(补丁信息)、-s(已知应用程序版本列表)参数这样一来就比较像 Windows 内置的 systeminfo 命令行了。psinfo -d -h -s注意要使用 PsInfo 获取远程计算机信息目标 PC 必需启用了 Remote Registry 服务。PsGetSidPsGetSid 功能非常简单就是用于获取 Machine SID 的。PsKillPsKill 看名称就不难猜它可按进程名或 PID 结束进程使用 -t 参数可以杀掉整个进程树。pskill \计算机名PsListPsList 非常简单它可以通过列表方式看到进程的几乎所有信息包括线程数。PsLoggedOnPsLoggedOn 命令主要用于查看本地或远程 PC 上当前登录的用户信息对于系统管理员来说非常实用。PsPingPsPing 是一个可对指定端口进行 TCP 或 UDP 连接测试的工具该工具可用于替代 telnet 命令进行连接测试我个人经常用其来测试连接 Azure 各项服务的响应速度。psping IP地址或域名:80PsPasswdPsPasswd 用于快速更改本地或远程 PC 的用户密码例如pspasswd \计算机名 -u User -p Password 该命令相较 net user 的好处在于可以一次性批量修改多台计算机的密码对于域管理员批量重置某些本地账户密码时非常有用。PsShutdown该命令主要是针对早期 Windows XP 用户设计现在 Windows 中内置的 Shutdown.exe 命令已经非常强大了所以使用较少。我们还是可以使用 PsShutdown 的 -d 参数让计算机进入睡眠模式。PsSuspend该命令行工具与 PsKill 比较类似但不是杀掉进程它主要用于暂停某个进程的工作。pssuspend \计算机名 要将已暂停的进程恢复到工作状态只需加上 -r 参数即可。PsServicePsService 命令行工具可操作 Windows 中的各种服务其语法如下psservice \计算机名 例如要启用某个服务时命令行如下psservice \计算机名 start用的操作有start(启动)、stop(停止)、pause(暂停)、restart(重启)要查看详细参数可以使用 PsService /?。该工具与 Windows 内置的 sc.exe 命令比较类似但使用 PsService 对管理员更友好。PsLogListPsLogList 顾名思义是用于查看本地或远程 PC 中的 Event Log(事件日志)的命令行工具它内有很好用的数据筛选功能。psloglist \计算机名其中的 -h、-d、-m 参数可以按小时、天、月来缩小返回的事件时间范围-n 参数用于指定要返回的条数-r 可以反向排序。例如我们要查看远程计算机中近 1 小时的 3 个事件日志可以使用psloglist \计算机名 -h 1 -n 3