У нас есть сценарий развертывания, который завершается с ошибкой: Недостаточно квоты для обработки этой команды.
В тот момент, когда он терпит неудачу, он пытается запустить исполняемый файл асинхронно после того, как уже запустил один и тот же исполняемый файл 10 раз. Так что номер 11 терпит неудачу. Всего нужно запустить 17. Этот сценарий не написан на PowerShell, но мы используем удаленный сеанс PowerShell для его запуска, и эта ошибка возникает, только когда мы запускаем сценарий с помощью удаленного взаимодействия PowerShell.
Если мы запустим тот же сценарий непосредственно на сервере без использования удаленного взаимодействия PowerShell, мы не получим эту ошибку, и у сценария не возникнет проблем с запуском всех экземпляров exe (всего 17) и завершением без ошибок.
Я проверил типичные ограничения WSMAN, которые, как я подозревал, могут быть причиной ошибки, и, насколько я могу судить, они установлены на неограниченный уровень. Сначала я подумал, что, возможно, MaxProcessesPerShell установлен слишком низким. Вот результаты с диска WSMAN на сервере, на котором он работает:
У нас есть следующие настройки WSMAN:
> WSMan:\localhost\Shell> dir
WSManConfig: Microsoft.WSMan.Management\WSMan::localhost\Shell
Type Name SourceOfValue Value
---- ---- ------------- -----
System.String AllowRemoteShellAccess true
System.String IdleTimeout 7200000
System.String MaxConcurrentUsers 2147483647
System.String MaxShellRunTime 2147483647
System.String MaxProcessesPerShell 2147483647
System.String MaxMemoryPerShellMB 2147483647
System.String MaxShellsPerUser 2147483647
Существуют ли другие параметры PowerShell или WSMAN, которые могут быть причиной этой ошибки?
Типичное решение, рекомендуемое для ошибки Недостаточно квоты ... , заключается в увеличении размера файла Page. Я еще не пробовал, потому что скрипт работает без ошибок вне сеанса PowerShell.
Я могу предоставить больше подробностей о том, что делает наш скрипт, если это необходимо, чтобы помочь ответить на этот вопрос.