![]() |
Внимание, важное сообщение: Дорогие Друзья!
В ноябре далекого 2001 года мы решили создать сайт и форум, которые смогут помочь как начинающим, так и продвинутым пользователям разобраться в операционных системах. В 2004-2006г наш проект был одним из самых крупных ИТ ресурсов в рунете, на пике нас посещало более 300 000 человек в день! Наша документация по службам Windows и автоматической установке помогла огромному количеству пользователей и сисадминов. Мы с уверенностью можем сказать, что внесли большой вклад в развитие ИТ сообщества рунета. Но... время меняются, приоритеты тоже. И, к сожалению, пришло время сказать До встречи! После долгих дискуссий было принято решение закрыть наш проект. 1 августа форум переводится в режим Только чтение, а в начале сентября мы переведем рубильник в положение Выключен Огромное спасибо за эти 24 года, это было незабываемое приключение. Сказать спасибо и поделиться своей историей можно в данной теме. С уважением, ваш призрачный админ, BigMac... |
|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » PowerShell - [решено] Poweshell RunspacePool — Многопоток |
|
PowerShell - [решено] Poweshell RunspacePool — Многопоток
|
Новый участник Сообщения: 15 |
Добрый день. Написал код, но не работает с RunspacePool.
$button_OK.Add_Click({ $RunspacePool = [runspacefactory]::CreateRunspacePool(1,8) $RunspacePool.ApartmentState = "MTA" $RunspacePool.Open() $Work = [powershell]::Create().AddScript($scriptblock) $scriptblock = { if ($CheckBox_ESPP.Checked){ & C:\PSTools\psexec.exe -h -nobanner -accepteula @C:\comps.txt powershell.exe -inputformat none "Invoke-Expression -Command 'hostname'; Get-Item C:\EASOPS\ESPP\In; Get-Item C:\EASOPS\ESPP\Out" } if ($CheckBox_GMMQ.Checked){ & C:\PSTools\psexec.exe -h -nobanner -accepteula @C:\comps.txt powershell.exe -inputformat none "Invoke-Expression -Command 'hostname'; Get-Item C:\GMMQ\Export; Get-Item C:\GMMQ\Import" } if ($CheckBox_Size.Checked){ & C:\PSTools\psexec.exe -h -nobanner -accepteula @C:\comps.txt powershell.exe -inputformat none "Invoke-Expression -Command 'hostname'; Get-PSDrive C" } } $Work.RunspacePool = $RunspacePool $Work.BeginInvoke() $RunspacePool.Close() | Out-Null $RunspacePool.Dispose() | Out-Null }) Подскажите, пожалуйста, что я сделал не так? |
|
Отправлено: 16:24, 03-06-2021 |
Новый участник Сообщения: 15
|
Профиль | Отправить PM | Цитировать Цитата Foreigner:
$computer = Get-Content -Path C:\comps.txt workflow test { param ([string[]]$computers) foreach -parallel ($computer in $computers) { InlineScript { C:\PSTools\psexec.exe $computer powershell.exe -inputformat none -command "Invoke-Expression -Command 'hostname'; Get-Item C:\EASOPS\ESPP\In; Get-Item C:\EASOPS\ESPP\Out" } } } |
|
Отправлено: 15:14, 15-06-2021 | #11 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 1759
|
Цитата rulesss2:
2. В workflow в InlineScript {} необходимо использовать $using ($using:computer) переменную. Попробуйте. 3. Попробуйте без InlineScript {}, прямо в foreach () {}. 4. workflow test необходимо вызвать: |
|
Отправлено: 16:13, 15-06-2021 | #12 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
|