Windows Update

Egy rendszerüzemeltető számára nagyon fontos a Windows operációs rendszerek frissítésének állapota. Ezt a Windows Update kliens szolgáltatás végzi, ennek állapotát a Microsoft.Update.Autoupdate COM objektumon keresztül tudjuk lekérdezni.

[22] PS C:\> $o = New-Object -ComObject Microsoft.Update.Autoupdate

[23] PS C:\> $o | gm

 

 

   TypeName: System.__ComObject#{4a2f5c31-cfd9-410e-b7fb-29a653973a0f}

 

Name               MemberType Definition

----               ---------- ----------

DetectNow          Method     void DetectNow ()

EnableService      Method     void EnableService ()

Pause              Method     void Pause ()

Resume             Method     void Resume ()

ShowSettingsDialog Method     void ShowSettingsDialog ()

Results            Property   IAutomaticUpdatesResults Results () {get}

ServiceEnabled     Property   bool ServiceEnabled () {get}

Settings           Property   IAutomaticUpdatesSettings Settings () {get}

Sőt! Nem csak az állapotát tudjuk lekérdezni, hanem vezérelni is tudjuk bizonyos mértékig. Például elindíthatunk egy frissességi vizsgálatot, azaz azt a folyamatot, hogy ellenőrizze a Windows Update kliens, hogy a rendelkezésére álló javítócsomagok közül mindegyik telepítve van-e már, és a hiányzókat telepíti.

[24] PS C:\> $o.detectnow()

[25] PS C:\> $o.results

 

LastSearchSuccessDate                  LastInstallationSuccessDate

---------------------                  ---------------------------

2009. 12. 05. 15:56:46                 2009. 11. 25. 8:13:07

Illetve lekérdezhetjük az aktuális beállításait:

[26] PS C:\> $o.settings

 

 

NotificationLevel         : 4

ReadOnly                  : False

Required                  : False

ScheduledInstallationDay  : 0

ScheduledInstallationTime : 3

IncludeRecommendedUpdates : True

NonAdministratorsElevated : True

FeaturedUpdatesEnabled    : False

Természetesen az előző példák csak ízelítők próbáltak lenni a COM objektumok kezeléséből, nem kívántam egy komplett COM szakkönyvet írni, hiszen ennek már széles a szakirodalma. A lényeg az, hogy bármilyen COM objektum nagyon egyszerűen megszólítható PowerShellből, így egy meglevő, például VBScriptben írt példa nagyon egyszerűen átemelhető PowerShellbe.

 

 



Word To HTML Converter