簡體   English   中英

使用 Powershell 計划任務安裝 Windows 安全補丁

[英]Install Windows Security Patches using Powershell scheduled task

我正在嘗試使用 powershell 遠程處理在遠程計算機上安裝 Windows 安全補丁。

當我在本地主機上運行腳本時,該腳本成功安裝了 Windows 安全補丁。我已經設置了 loaclhost 和遠程機器以進行遠程處理,並且能夠遠程執行其他腳本。

使用計划任務:我使用以下腳本來啟動計划任務:

param(
   [parameter(Mandatory = $true)]
   [string]$IPaddress
)
$PSModulePath = $env:PSModulePath
$SplittedModulePath = $PSModulePath.Split(";")
$ModulePath = $SplittedModulePath[0]
$secpasswd = ConvertTo-SecureString "Pass@12345678" -AsPlainText -Force
$cred = New-Object System.Management.Automation.PSCredential ("Admin02", $secpasswd)
#Create a Session. Replace host name with the host name of the remote machine.
$Session = New-PSSession -ComputerName $IPaddress -Credential $cred
$User= "Admin02"
$Action= New-ScheduledTaskAction -Execute "PowerShell.exe" -Argument "$env:ALLUSERSPROFILE\Install-WindowsUpdate.ps1"
$Trigger= New-ScheduledTaskTrigger -At 5:05am -Once
Invoke-Command -Session $Session -ScriptBlock { Register-ScheduledTask -TaskName "Install-Updates" -User $Using:User -Action $Using:Action -Trigger $Using:Trigger -RunLevel Highest –Force }

我已將以下腳本復制到目標機器上的 $env:ALLUSERSPROFILE 路徑下

Install-Module -Name PSWindowsUpdate -RequiredVersion 2.1.0.1 -Force
Import-Module PSWindowsUpdate -Force
Get-WindowsUpdate -install -acceptall

在我安排任務后什么也沒有發生。我做錯了什么?

在您的 Register-ScheduledTask 命令中,您指定了運行命令的用戶 (Admin02) 但沒有密碼,我敢打賭 TaskScheduler 無法啟動該任務,因為它沒有以指定用戶身份啟動它的憑據。 嘗試:

$PlainPass = "Pass@12345678"    
Invoke-Command -Session $Session -ScriptBlock { Register-ScheduledTask -TaskName "Install-Updates" -User $Using:User -password $Using:PlainPass -Action $Using:Action -Trigger $Using:Trigger -RunLevel Highest –Force }

不幸的是,Register-ScheduledTask 似乎需要一個普通的、不安全的密碼字符串。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM