
WSUS サービスをリセットし、選択可能な 1 台以上のホスト (最大 200 台) からダウンロードした更新プログラムを削除したいと思います。
ホストに ping を実行し、オンラインとオフラインの結果を Excel ファイルにエクスポートしたいと思います。
***
次の希望は、パスワードを入力するときにパスワード部分にアスタリスクを付けることです。cls $User = Read-Host "Enter username" $Pass = Read-Host "Enter password" cls
4必要に応じて、これをpsexec
各自のホストにコピーすると良いでしょう。C:\temp
WSUS サービスをリセットし、ダウンロードした更新プログラムを削除する bat ファイルを作成しました。
clean_wsus.bat file:
net stop wuauserv
net stop bits
cd\
cd C:\Windows\SoftwareDistribution
del *.* /s /q
net start wuauserv
net start bits
wuauclt /resetauthorization /detectnow
これは 1 つのホストでは正常に動作します。
これは PowerShell スクリプトです:
$input = Read-Host @"
Select Option
(1)Manually enter computer(s)
(2)Retrieve computer(s) from file
Option
"@
If ($input -eq 1){
$count = Read-Host "How many computers"
$Computers = 1..$count
$b=0;$c=1; ForEach ($Computer in $Computers) {$Computers[$b] = Read-Host "Computer" $c; $b++; $c++}
} ElseIF ($input-eq 2) {
$Computers = Read-Host "File"
$Computers = Get-Content $Computers
} Else {
write-host "Invalid Option"
Exit
}
cls
$User = Read-Host "Enter username"
$Pass = Read-Host "Enter password"
cls
$PSExec = "C:\Temp\PsExec.exe"
ForEach ($Computer in $Computers){
& $PSExec \\$Computer -u $User -p $Pass -h "C:\Temp\clean_wsus.bat"
}
次のようなエラーが表示されます:
PsExec v2.33 - Execute processes remotely
Copyright (C) 2001-2021 Mark Russinovich
Sysinternals - www.sysinternals.com
PsExec.exe : The handle is invalid.
At C:\Temp\WSUS\Script\WSUS Update.ps1:31 char:1
+ & $PSExec \\$Computer -u $User -p $Pass -h "C:\Temp\clean_wsus.bat"
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (The handle is invalid.:String) [], RemoteExce
ption
+ FullyQualifiedErrorId : NativeCommandError
Logon failure: the user has not been granted the requested logon type at this computer.
Connecting to local system...
Connecting to local system...
Starting PSEXESVC service on local system...
Copying authentication key to NB***...
Connecting with PsExec service on NB***..
Starting C:\Temp\clean_wsus.bat on NB***....
Couldn't install PSEXESVC service:
PsExec could not start C:\Temp\clean_wsus.bat on NB***.: