是否可以从Powershell中检测它是否是嵌套的shell?
如果我打开Powershell或cmd.exe窗口,然后键入powershell
< enter>在那里,是否有一个神奇的$ host.somevariable我可以查询,看看它是否是一个“内部”shell?
答案 0 :(得分:7)
没有这样一个神奇的变量,更有可能。但是可以获得这些信息:
$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'
}