Skip to content

Instantly share code, notes, and snippets.

@brianfgonzalez
Created December 20, 2023 18:48
Show Gist options
  • Save brianfgonzalez/1f383b837fcaa241dc44bd621ec3c016 to your computer and use it in GitHub Desktop.
Save brianfgonzalez/1f383b837fcaa241dc44bd621ec3c016 to your computer and use it in GitHub Desktop.
updateDeviceVars.ps1
$MachineSettingsClass = Get-WmiObject -ns "root\sms\site_ps1" -Query "SELECT ResourceID FROM SMS_MachineSettings WHERE ResourceID = '16777220'"
if ($MachineSettingsClass)
{
Write-Host 'initial check of vars'
$MachineSettingsClass.get() | Out-Null
$MachineSettingsClass.machinevariables
Write-Host 'now clearing vars'
$MachineSettingsClass.MachineVariables = @()
$MachineSettingsClass.SourceSite = 'PS1'
[void]($MachineSettingsClass.put())
Write-Host 'now checking to make sure its cleared'
$MachineSettingsClass.get() | Out-Null
$MachineSettingsClass.machinevariables
Write-Host 'now populating some vars'
[System.Management.ManagementBaseObject[]]$MachineVariablesList = @()
$NewMachineSettingsClassInstance = (Get-WmiObject -ns "root\sms\site_ps1" -List -Class 'SMS_MachineSettings').CreateInstance()
$NewMachineSettingsClassInstance.Properties["ResourceID"].value = 16777220
$NewMachineVariablesClassInstance = (Get-WmiObject -ns "root\sms\site_ps1" -List -Class "SMS_MachineVariable").CreateInstance()
$NewMachineVariablesClassInstance.Properties['Name'].Value = 'testvar5'
$NewMachineVariablesClassInstance.Properties['Value'].Value = 'testval5'
$NewMachineVariablesClassInstance.Properties['IsMasked'].Value = $false
[System.Management.ManagementBaseObject[]]$MachineVariablesList += $NewMachineVariablesClassInstance
$NewMachineSettingsClassInstance.MachineVariables = $MachineVariablesList
#$NewMachineSettingsClassInstance.get() | Out-Null
#$NewMachineSettingsClassInstance.machinevariables
$NewMachineSettingsClassInstance.SourceSite = 'PS1'
[void]($NewMachineSettingsClassInstance.put())
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment