Montag, 2. Juni 2014

Tasksequence über Powershell starten

mit nachfolgendem Powershell Script kann eine Taskequence über Command Line gestartet werden:
($ADVID entspricht dabei der DeploymentID der Tasksequence)

$ADVID = 'INF200C4'

$Advertisement = get-wmiobject -query "SELECT * FROM CCM_Softwaredistribution WHERE ADV_AdvertisementID LIKE '$($ADVID)' " -namespace "root\CCM\Policy\Machine\ActualConfig" -Computer localhost -Authentication PacketPrivacy -Impersonation Impersonate

$Advertisement.ADV_RepeatRunBehavior = "RerunAlways"

$Advertisement.ADV_MandatoryAssignments = "True"

$Advertisement.put()


 
 
$ScheduledMessageID = (get-wmiobject -query "SELECT ScheduledMessageID FROM CCM_Scheduler_ScheduledMessage WHERE ScheduledMessageID LIKE '$($ADVID)-%' " -namespace "root\CCM\Policy\Machine\ActualConfig" -Computer localhost -Authentication PacketPrivacy -Impersonation Impersonate).ScheduledMessageID

$WMIPath = "\\localhost\root\ccm:SMS_Client"

$SMSwmi = [wmiclass] $WMIPath

[Void]$SMSwmi.TriggerSchedule($ScheduledMessageID)
 

Befehl für Powershell Script Ausführung:


C:\WINDOWS\system32\windowspowershell\v1.0\powershell.exe -noprofile -noninteractive -file [Path]