add pode and api scripts
This commit is contained in:
parent
30a3d7711e
commit
94bc297ea1
20 changed files with 783 additions and 3 deletions
50
Scripts/Get-Update.psm1
Normal file
50
Scripts/Get-Update.psm1
Normal file
|
|
@ -0,0 +1,50 @@
|
|||
function Get-Update {
|
||||
<#
|
||||
.SYNOPSIS
|
||||
Remote and local view and delete updates packages
|
||||
Using WMI, dism Online and Invoke-Command via WinRM
|
||||
.DESCRIPTION
|
||||
Example:
|
||||
Get-Update localhost # windows updates list (WMI) default
|
||||
Get-Update localhost | Out-GridView
|
||||
Get-Update localhost -delete # DISM packages list for delete updates
|
||||
.LINK
|
||||
https://github.com/Lifailon
|
||||
#>
|
||||
Param (
|
||||
$srv="localhost",
|
||||
[switch]$delete
|
||||
)
|
||||
if ($delete){
|
||||
if ($srv -like "localhost") {
|
||||
$dismName = dism /Online /Get-Packages /format:table |
|
||||
Out-Gridview -Title "DISM $Text_Packages $Text_ToServer $srv" –PassThru
|
||||
if ($dismName -ne $null) {
|
||||
$dismNamePars = $dismName -replace "\|.+"
|
||||
$dismNamePars = $dismNamePars -replace "\s"
|
||||
$wshell = New-Object -ComObject Wscript.Shell
|
||||
$output = $wshell.Popup("Delete Update $dismNamePars to server $srv ?",0,"Select action",4)
|
||||
if ($output -eq "6") {
|
||||
dism /Online /Remove-Package /PackageName:$dismNamePars /quiet /norestart
|
||||
}
|
||||
}
|
||||
} else {
|
||||
$session = New-PSSession $srv
|
||||
$dismName = icm -Session $session {dism /Online /Get-Packages /format:table} |
|
||||
Out-Gridview -Title "DISM $Text_Packages $Text_ToServer $srv" –PassThru
|
||||
if ($dismName -ne $null) {
|
||||
$dismNamePars = $dismName -replace "\|.+"
|
||||
$dismNamePars = $dismNamePars -replace "\s"
|
||||
$wshell = New-Object -ComObject Wscript.Shell
|
||||
$output = $wshell.Popup("Delete Update $dismNamePars to server $srv ?",0,"Select action",4)
|
||||
if ($output -eq "6") {
|
||||
icm -Session $session {$dismNamePars = $using:dismNamePars}
|
||||
icm -Session $session {dism /Online /Remove-Package /PackageName:$dismNamePars /quiet /norestart}
|
||||
Remove-PSSession $session
|
||||
}
|
||||
}
|
||||
}
|
||||
} else {
|
||||
Get-WmiObject -Class Win32_QuickFixEngineering -ComputerName $srv
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue