Я пытаюсь запустить PSWindowsUpdate, используя стек соли, но не могу запустить команду Download-WindowsUpdate
из-за следующей ошибки:
Download-WindowsUpdate : Windows PowerShell is in NonInteractive mode. Read and Prompt functionality is not available.
Как я могу заставить это работать в неинтерактивном режиме?
Вот мой файл windows_update.sls:
Install_PSWindowsUpdate:
cmd.run:
- shell: powershell
- name: Install-Module -Name PSWindowsUpdate -Force
Import_PSWindowsUpdate_module:
cmd.run:
- shell: powershell
- name: Import-Module PSWindowsUpdate
Download_Windows_updates:
cmd.run:
- shell: powershell
- name: Download-WindowsUpdate -Download -ForceDownload -Silent
Вот результат выполнения состояния:
----------
ID: Download_Windows_updates
Function: cmd.run
Name: Download-WindowsUpdate -Download -ForceDownload -Silent -Debuger
Result: False
Comment: Command "Download-WindowsUpdate -Download -ForceDownload -Silent " run
Started: 02:31:11.656532
Duration: 6433.988 ms
Changes:
----------
pid:
4764
retcode:
1
stderr:
Download-WindowsUpdate : Windows PowerShell is in NonInteractive mode. Read and Prompt functionality is not available.
At line:1 char:1
+ Download-WindowsUpdate -Download -ForceDownload -Silent
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation: (:) [Get-WindowsUpdate], PSInvalidOperationException
+ FullyQualifiedErrorId : InvalidOperation,PSWindowsUpdate.GetWindowsUpdate
stdout:
Summary for prod1
Обновление: если я попытаюсь запустить команду через cmd, появится запрос «Да» или «Нет».
C:\Windows\system32>powershell.exe "Download-WindowsUpdate -Download -ForceDownload -Silent -Recurse 2"
Confirm
Are you sure you want to perform this action?
Performing the operation "(4/3/2023 4:30:40 AM) 2023-02 Cumulative Update for .NET Framework 3.5, 4.7.2 and 4.8 for
Windows Server 2019 for x64 (KB5022782)[77MB]" on target "PROD1".
[Y] Yes [A] Yes to All [N] No [L] No to All [S] Suspend [?] Help (default is "Y"):
Добавление -Confirm:$false
, кажется, решило проблему.
Download_Windows_updates:
cmd.run:
- shell: powershell
- name: Download-WindowsUpdate -Download -ForceDownload -Silent -Confirm:$false