5
是否可以從Powershell內檢測它是否是嵌套shell?如何檢測Powershell內的Powershell嵌套?
如果我打開一個PowerShell或CMD.EXE窗口,然後鍵入powershell
<在那裏進入>,有一個神奇的$ host.somevariable我可以查詢,找出它是否是一個「內部」的殼呢?
是否可以從Powershell內檢測它是否是嵌套shell?如何檢測Powershell內的Powershell嵌套?
如果我打開一個PowerShell或CMD.EXE窗口,然後鍵入powershell
<在那裏進入>,有一個神奇的$ host.somevariable我可以查詢,找出它是否是一個「內部」的殼呢?
沒有這樣一個魔術變量,更有可能。但有可能得到這些信息:
$me = Get-WmiObject -Query "select * from Win32_Process where Handle=$pid"
$parent = Get-Process -Id $me.ParentProcessId
if ($parent.ProcessName -eq 'powershell') {
'nested, called from powershell'
}
elseif ($parent.ProcessName -eq 'cmd') {
'nested, called from cmd'
}
else {
'not nested'
}
對我來說夠好,謝謝! – scobi 2010-12-07 20:19:50