Как обнаружить вложенность Powershell в Powershell? - PullRequest
5 голосов
/ 07 декабря 2010

Можно ли изнутри обнаружить в Powershell вложенную оболочку?

Если я открою окно Powershell или cmd.exe, а затем наберу там powershell , есть ли волшебная переменная $ host.somevariable, которую я могу запросить, чтобы узнать, является ли она "внутренней" оболочкой?

1 Ответ

7 голосов
/ 07 декабря 2010

Такой магической переменной, скорее всего, нет.Но можно получить эту информацию:

$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'
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...