Проверьте, открыт ли 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>