Проверьте, открыт ли RunspacePool на компьютере

У меня есть процесс, который запускает сценарий Powersell на виртуальной машине. Этот сценарий определяет RunspacePool на виртуальной машине и устанавливает пороговое значение (количество пространств выполнения) на основе возможностей ресурса этой виртуальной машины. Этот процесс повторяется, поэтому я не хочу, чтобы он продолжал определять и открывать RunspacePools, когда он уже определен и открыт на этой виртуальной машине.

В начале сценария Powershell я пытался проверить, определен ли \ открыт ли Runspacepool, вызывая свойства RunspacePoolStateInfo или RunspacePoolAvailability. Но они не определены, так как сам объект Runspacepool недоступен в новом окне, которое открывает процесс для запуска сценария.

Я в основном ищу способ определить, что RunspacePool открыт на виртуальной машине с помощью сценариев Powershell

1 ответ

Решение

Ответ для PowerShell V5 и новее

Вы можете получить Runspacess в текущих процессах, запустив

Get-Runspace

или если вы знаете имя

Get-Runspace -Name <name>

Удаленные пространства выполнения в PowerShell V5

Если Runspace, который вы хотите проверить, находится в другом процессе, вы должны сначала сделать это.

Enter-PSHostProcess -Id <int>

или же

Enter-PSHostProcess -Process <ProcessObject>
Другие вопросы по тегам