Reading some registry values with PowerShell is typically a snap: simply use Get-ItemProperty. This snippet of code reads the Windows operating system details, for example:
$Path = "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion" Get-ItemProperty -Path $Path | Select-Object -Property ProductName, CurrentBuild, ReleaseId, UBR
The result looks like this:
ProductName CurrentBuild ReleaseId UBR ----------- ------------ --------- --- Windows 10 Pro 19042 2009 630
Get-ItemProperty
Unfortunately, Get-ItemProperty really works well only in combination with Select-Object because the cmdlet always adds a number of properties. If you wanted to read just a single registry value, i.e. the last logged-on user, this always requires the combination of the two:
$Path = "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Authentication\LogonUI" Get-ItemProperty -Path $Path | Select-Object -ExpandProperty LastLoggedOnUser
Storing the result of Get-ItemProperty
Alternatively, you can store the result of Get-ItemProperty in a variable and access individual registry values with the dot notation:
$Path = "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Authentication\LogonUI" $values = Get-ItemProperty -Path $Path $values.LastLoggedOnUser
Launching Windows Terminal
If this call doesn’t help you launching Windows Terminal from a different user account, then in our upcoming tip we show how you can turn the app into a portable app that is no longer managed by Windows. Instead, this way you can run it by any user, including elevated accounts. Stay tuned.
$Path = "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Authentication\LogonUI" $key = Get-Item -Path $Path $key.GetValue('LastLoggedOnUser')