繁体   English   中英

通过服务名称获取远程计算机上的 PID

[英]Get PID on remote computer via service name

我需要使用 PowerShell 为我正在创建的程序/脚本终止远程计算机上服务背后的进程。

问题是进程并不总是具有相同的 PID,名称也不总是相同的。 唯一永远相同的是名字。

我发现我可以使用此命令获取服务的 PID:

taskkill /s rasmuspc /u rasmus123 /p 12345 /PID (Get-WmiObject Win32_Service|where{$_.Name -eq 'Spooler'}).ProcessID /F

我使用这个命令来跳过tasklist ,所以我可以让它自动化,而不是手动查找和输入 PID。

但是那个命令只会从我自己的电脑上获取 PID,我看不出有没有办法在远程 PC 上获取服务的 PID,只知道服务的名称?

Taskkill /s rasmuspc /u rasmus123 /p 12345 /PID (Get-WmiObject -CN $remotepcname -filter 'name="spooler"}).processID /F

感谢 Mathias R. Jessen,这个命令起作用了。

tasklist /s服务器名称 这可用于获取远程服务器上运行的任务列表

试试这个

Get-Process -ComputerName "ServerName" -Name notepad | stop-Process

您需要能够在远程机器上停止进程

要在 Powershell 中终止相应的进程,一行:

Get-Process -PID (Get-WmiObject -CN $RemotePCName -filter 'name="spooler"' -Class Win32_service).processID | Stop-Process -Force

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM