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 IfWScript.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 = 60Set 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.
Pingback: Script to change Power Management setting in ConfigMgr 2012 client - CCMEXEC.COM – System Center blog
Pingback: Script to set Automatically install or uninstall.. on ConfigMgr2012 clients - CCMEXEC.COM – System Center blog
Pingback: SCCM 2012: Setting Software Center Business Hours with a Compliance Configuration Item « PowerSheller
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.
Did a translation to Powershell:
http://www.snowland.se/2012/10/10/set-configmgr-2012-working-hours-with-powershell/