Software Center – Business Hours auslesen / setzen

Bei ConfigMgr 2012 gibt es im Software Center für den Enduser die Möglichkeit, seine eigenen „Business Hours“ zu konfigurieren. Damit hat er die Möglichkeit, z.B. Software- / Updates-Installationen oder Reboots außerhalb seiner „Geschäftszeiten“ zu legen:

Der Anwender kann diese Zeiten selbst definieren; es gibt keine Möglichkeit, diese zentral vorzugeben.

Auf der Suche nach den entsprechenden Namespaces, Classes und Methods in der WMI ist dann folgendes „Abfallprodukt“ entstanden: ein vbs-Skript, welches die Konfiguration der „Business Hours“ clientseitig ausliest (Vorsicht bei „copy’n paste“! WordPress wandelt die straight quotes in smart quotes um):

Set objUX = GetObject(„winmgmts:\\.\root\ccm\ClientSDK:CCM_ClientUXSettings“)

Set GBH = objUX.ExecMethod_(„GetBusinessHours“)

WScript.echo „Working days currently set to: “ & GBH.WorkingDays
If GBH.WorkingDays AND  1 Then WScript.echo „Sunday“    End If
If GBH.WorkingDays AND  2 Then WScript.echo „Monday“    End If
If GBH.WorkingDays And  4 Then WScript.echo „Tuesday“   End If
If GBH.WorkingDays And  8 Then WScript.echo „Wednesday“ End If
If GBH.WorkingDays AND 16 Then WScript.echo „Thursday“  End If
If GBH.WorkingDays AND 32 Then WScript.echo „Friday“    End If
If GBH.WorkingDays AND 64 Then WScript.echo „Saturday“  End If

WScript.echo „Start time: “ & GBH.StartTime
WScript.echo „End time:   “ & GBH.EndTime

Als Ausgabe erhält man damit beispielsweise:

Entsprechend entstand dann ein Skript, mit dem man die Einstellungen auf dem Client auch setzen kann:

Set objUX = GetObject(„winmgmts:\\.\root\ccm\ClientSDK:CCM_ClientUXSettings“)

Set inParam = objUX.Methods_.Item(„SetBusinessHours“).inParameters.SpawnInstance_()
inParam.StartTime = 12
inParam.EndTime = 13
inParam.WorkingDays = 60

Set result = objUX.ExecMethod_(„SetBusinessHours“, inParam)

Die blauen Parameter sind dabei durch die zu setzenden Werte zu ersetzen. Die Wochentage setzen sich wie folgt zusammen:

Sunday 1
Monday 2
Tuesday 4
Wednesday 8
Thursday 16
Friday 32
Saturday 64

 Viel Spaß beim Ausprobieren. Vor produktivem Einsatz sollte das Skript in einer Testumgebung ausführlich getestet werden.

 

5 Gedanken zu „Software Center – Business Hours auslesen / setzen

  1. Pingback: Script to change Power Management setting in ConfigMgr 2012 client - CCMEXEC.COM – System Center blog

  2. Pingback: Script to set Automatically install or uninstall.. on ConfigMgr2012 clients - CCMEXEC.COM – System Center blog

  3. Pingback: SCCM 2012: Setting Software Center Business Hours with a Compliance Configuration Item « PowerSheller

  4. Torsten [MVP]

    Rikard, why didn’t you mention the source of the vbs script in your blog then? „Did a bit of digging and found some examples in VBScript“ … it would be fair to mention where you found it. Thanks.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.