Querying this WMI class returns environment variables found under the registry key HKLM\System\CurrentControlSet\Control\Sessionmanager\Environment.
To access all the variables and their values by executing the following command:
Get-WmiObject -class Win32_Environment | Select-Object Name, VariableValue
To get all the properties and methods of the Win32 Environment class:
Get-WmiObject -class Win32_Environment | Get-Member
To get the owner of the variables from the Win32 Environment class:
Get-WmiObject -class Win32_Environment | Select-Object Name, UserName, SystemVariable
To get the TMP setting for the user PowerDomain\PowerUser:
Get-WmiObject -class Win32_Environment | Where-Object {$_.Name -eq "TMP" -and $_.Username -eq "PowerDomain\PowerUser"}
To delete the variable TMP:
$a= Get-WmiObject -class Win32_Environment| Where-Object {$_.Name -eq "TMP" -and $_.Username -eq "PowerDomain\PowerUser"}
$a.Delete()
To access system variables on a remote machine:
Get-WmiObject -class Win32_Environment –computerName RemoteHostName | Select-Object Name, UserName, SystemVariable