2017-04-20 69 views
1

我有一個腳本,用psexec在遠程計算機上調用記事本。有沒有一種方法可以在啓動後獲得進程ID?啓動後獲取進程ID psexec

以下是我有:

$PCname = "MyPC" 
$SessionID = "2" 
$Program = "Notepad.exe" 
$FilePath = "C:\temp\" 
$FileName = "Test.txt" 

set-alias psexec "C:\PsExec\psexec.exe" 
    &psexec -s -d -i $SessionID \\$PCname $Program $FilePath\$FileName 

運行後我得到這個顯示的進程ID的輸出窗口:

Connecting to MyPC...Starting PSEXESVC service on MyPC...Connecting 
with PsExec service on MyPC...Starting Notepad.exe on MyPC... 
Notepad.exe started on MyPC with process ID 8352. 

我怎麼能搶進程ID?

回答

2

可以使用Select-String cmdlet的使用正則表達式搶進程ID:

&psexec -s -d -i $SessionID \\$PCname $Program $FilePath\$FileName | 
    Select-String 'process ID (\d+)' | 
    ForEach-Object {$_.Matches.Groups[1].Value} 
+0

我有點新手的。我如何從中獲得我的進程ID? – Eric

+0

它已經返回進程ID ;-) –

+0

???我搞不清楚了。看不到它在哪裏返回進程ID – Eric

0
$a = (gps -ComputerName PcName| where{ $_.ProcessName -eq "Notepad.exe"} | select Id) 

$a.Id包含通緝編號

+0

如果機器上運行的唯一記事本是我開始使用的記事本,那麼這很有效。 – Eric