Get the properties of a specified item.
Syntax Get-ItemProperty { [-path] string[] | [-literalPath] string[] } [[-name] string[]] [-include string[]] [-exclude string[]] [-filter string] [-credential PSCredential] [-UseTransaction] [CommonParameters] Key -path string The path(s) to the items. Wildcards are permitted. -literalPath string Like Path above, only the value is used exactly as typed. No characters are interpreted as wildcards. If the path includes any escape characters then enclose the path in single quotation marks. -name string The name(s) of the property to retrieve. n.b. -name '(default)' will retrieve all properties, not just the default value. -include string Include only the specified items from the Path. e.g. "May*" this only works when the path includes a wildcard character. -exclude string Omit the specified items from the Path e.g. "*SS64*" this only works when the path includes a wildcard character. -filter string A filter in the provider's format or language. The exact syntax of the filter (wildcard support etc) depends on the provider. Filters are more efficient than -include/-exclude, because the provider applies the filter when retrieving the objects, rather than having PowerShell filter the objects after they are retrieved. -credential PSCredential Use a credential to validate access to the file. Credential represents a user-name, such as "User01" or "Domain01\User01", or a PSCredential object, such as the one retrieved by using the Get-Credential cmdlet. If you type a user name, you will be prompted for a password. -UseTransaction Include the command in the active transaction.
Standard Aliases for Get-ItemProperty: gp
Get-ItemProperty gets the properties of an item, for example it can be used to view registry entries and their values, or the .LastAccessTime of a file.
When reading the Windows Registry, some values will be available as a property rather than a key.
You can retrieve these using, either the dot notation:
[string]$osRelease = (Get-ItemProperty "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion").ReleaseIdor pipe into Select-Object and then expand the property required, you can also pipe into Get-Member to list the properties available:
Get-ItemProperty "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion" | Select-Object -ExpandProperty ReleaseId
Display information about the C:\Windows directory:
PS C:\> get-itemproperty C:\Windows
Get a file and display as a list:
PS C:\> get-itemproperty C:\Test\Weather.xls | format-list
Get the File Attributes of the file demo.txt (Archive, Hidden, Normal, ReadOnly or System). Explanation of this technique here. Casting the result to Boolean gives a True/False result:
PS C:\> [bool](Get-ItemProperty C:\demo\demo.txt).attributes -bAND [io.fileattributes]::Archive
PS C:\> [bool](Get-ItemProperty C:\demo\demo.txt).attributes -bAND [io.fileattributes]::ReadOnly
Display the value name and data of each of the registry entries contained in the .NetFramework registry subkey:
PS C:\> get-itemproperty -path HKLM:\SOFTWARE\Microsoft\.NETFramework
Show the WiFi Airplane mode (0 or 1) which is a default registry value (ms-settings:network-airplanemode)
PS C:\> (Get-ItemProperty -Path "HKLM:\System\CurrentControlSet\Control\RadioManagement\SystemRadioState").'(default)'
You can also specify the full registry path: (the HKLM shortcut is a psdrive)
PS C:\> get-itemproperty -path Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\
Display the value name and data of a specific registry entry:
PS C:\> get-itemproperty -path HKLM:\SOFTWARE\Microsoft\.NETFramework -name "InstallRoot"
"A man who knows the price of everything and the value of nothing" ~ Oscar Wilde
error: Specified cast is not valid.(registry) workaround is to only read a specific key ( -name ).
Get-ChildItem - Get child items (contents of a folder or registry key).
Clear-ItemProperty - Remove the property value from a property.
Copy-ItemProperty - Copy a property along with it's value.
Get-Item - Get a file object or get a registry (or other namespace) object.
Move-ItemProperty - Move a property from one location to another.
New-ItemProperty - Set a new property of an item at a location.
Set-ItemProperty - Set a property at the specified location to a specified value.
Remove-ItemProperty - Remove a property and its value from the location.
Rename-ItemProperty - Renames a property at its location.