Задать вопрос
@Kekxx

Как ускорить выполнение powershell скрипта?

Есть вот такой скрипт, я обращаюсь к нему из python
$username = 'keksxj'
$password = 'пароль'
$secpw = ConvertTo-SecureString $password -AsPlainText -Force
$cred  = New-Object Management.Automation.PSCredential ($username, $secpw)
Invoke-Command -VMName 'app' -Credential $cred  {C:\Users\keksxj\Desktop\way\mainzapusk.ps1}
С помощью него запускается другой скрипт на 'удалённом пк" который запускает приложение.
Меня не устраивает то что это действие выполняется за ~5 с небольшим секунд, для моей задачи это медленно.
Я пробовал самостоятельно решить эту проблему делением этого скрипта на 2 отдельных.
Первый скрипт
$username = 'keksxj'
$password = 'пароль'
>> $secpw = ConvertTo-SecureString $password -AsPlainText -Force
>> $cred  = New-Object Management.Automation.PSCredential ($username, $secpw)
>> $s = New-PSSession -VMName 'app' -Credential $cred

Второй скрипт
Invoke-Command  -Session $s  {C:\Users\keksxj\Desktop\way\mainzapusk.ps1}

Но как я понял делить такой скрипт нельзя, потому что PSSession не сохраняется при запуске из скрипта (поправьте если я не прав).
Вопрос собственном в том можно ли ускорить выполнение этого скрипта ? Например пропустить. как то часть с авторизацией (что бы он раз и навсегда данные запомнил).
  • Вопрос задан
  • 237 просмотров
Подписаться 1 Простой 2 комментария
Пригласить эксперта
Ответы на вопрос 1
@FluffyBeaver
Kekxx, ну, не WMI, а WinRM.
PowerShell Direct для того, чтобы администрировать виртуальные машины. Использовать его как замену удалённого доступа на стенде или в домашних условиях, конечно, можно. Но причина "по другому не работает" тут, скорее, индикатор, что инструмент выбран неверно.

Если просто забить в Google ту строку, что возвращает PsExec, то уже на странице поиска будет понятно, что там написано.

А если сопоставить этот вопрос и прошлый(-лые), то создаётся впечатление, что это попытка наваять что-то мутное на коленке.
______________________________
Что касается вопроса - одновременный запуск проще будет сделать используя планировщик или ожидание нужного времени в самом скрипте
(разумеется, надо убедиться в синхронизации времени между узла и).
______________________________
Что касается проблемы доступа к ВМ, предположу, что это ПК и виртуальная машина не входят в домен, то есть, используют [разные] локальные учётные записи, а ошибки вызванв попытками использовать учётную запись одного узла в качестве учётной записи для другого узла.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы