Remotely Run a Baseline on a Device
$ComputerName = "A name of some device on your network"
#Retrieve all the baselines available on the device
$Baselines = Get-WmiObject -ComputerName $ComputerName -Namespace root\ccm\dcm -Class SMS_DesiredConfiguration
#Search these for a specific baseline name to obtain Baseline Name and Version
if ($Baselines)
{
$BaselineName = $Baselines | Where-Object {$_.DisplayName -match "xxxxxxxx"} | Select-Object -ExpandProperty Name
$BaselineVersion = $Baselines | Where-Object {$_.DisplayName -match "xxxxxxxx"} | Select-Object -ExpandProperty Version
$MC = Get-WmiObject -List -Namespace root\ccm\dcm -ComputerName $ComputerName | Where-Object { $_.name -eq "SMS_DesiredConfiguration" }
$R = $MC.TriggerEvaluation($BaselineName, $BaselineVersion, $true, $true)
$R | Format-Table
}
Doing it all via WMI calls also allows you to specify Credentials on the Get-WMIObject if needed, and if you link this to a SQL query looking directly at your SCCM database (see post http://sccmshenanigans.blogspot.co.uk/2013/11/useful-sccm-sql-queries.html re SQL queries) then you can run a block refresh of Baselines across devices.
Remotely run Hardware Inventory
$ComputerName = "A name of some device on your network"
$MC = Get-WmiObject -List -Namespace root\ccm -ComputerName $ComputerName | Where-Object { $_.name -eq "SMS_Client" }
$SMSCli.TriggerSchedule("{00000000-0000-0000-0000-000000000001}")
As with the above example, if you link it to a SQL query you can bulk execute the HW Inventory scans.
Other schedules that you can kick of are:
Name | Schedule ID |
---|---|
HW Inventory | {00000000-0000-0000-0000-000000000001} |
SW Inventory | {00000000-0000-0000-0000-000000000002} |
Discovery Data Record | {00000000-0000-0000-0000-000000000003} |
Machine Policy Retrieval & Evaluation | {00000000-0000-0000-0000-000000000021} |
File Collection | {00000000-0000-0000-0000-000000000010} |
SW Metering Usage Report | {00000000-0000-0000-0000-000000000022} |
Windows Installer Source List | {00000000-0000-0000-0000-000000000032} |
Software Updates Scan | {00000000-0000-0000-0000-000000000113} |
Software Updates Store | {00000000-0000-0000-0000-000000000114} |
Software Updates Deployment | {00000000-0000-0000-0000-000000000108} |
A definitive list can be found via the ConfigMgr SDK under the section titled TriggerSchedule Method in Class SMS_Client
No comments:
Post a Comment