Get-ItemProperty

获取指定项的属性。

语法

Get-ItemProperty
   [-Path] <String[]>
   [[-Name] <String[]>]
   [-Filter <String>]
   [-Include <String[]>]
   [-Exclude <String[]>]
   [-Credential <PSCredential>]
   [-UseTransaction]
   [<CommonParameters>]
Get-ItemProperty
   -LiteralPath <String[]>
   [[-Name] <String[]>]
   [-Filter <String>]
   [-Include <String[]>]
   [-Exclude <String[]>]
   [-Credential <PSCredential>]
   [-UseTransaction]
   [<CommonParameters>]

说明

Get-ItemProperty cmdlet 获取指定项的属性。 例如,可以使用此 cmdlet 获取文件对象的 LastAccessTime 属性的值。 还可以使用此 cmdlet 查看注册表项及其值。

示例

示例 1:获取有关特定目录的信息

此命令获取有关“C:\Windows”目录的信息。

Get-ItemProperty C:\Windows

示例 2:获取特定文件的属性

此命令获取“C:\Test\Weather.xls”文件的属性。 结果通过管道传递给 Format-List cmdlet,以将输出显示为列表。

Get-ItemProperty C:\Test\Weather.xls | Format-List

示例 3:显示注册表子项中的注册表项的值名称和数据

此命令显示“CurrentVersion”注册表子项中包含的每个注册表项的值名称和数据。 请注意,该命令要求有一个名为 HKLM: 的 PowerShell 驱动器映射到注册表的“HKEY_LOCAL_MACHINE”配置单元。 默认情况下,具有该名称和映射的驱动器在 PowerShell 中可用。 或者,可以使用以下替代路径来指定此注册表子项的路径,该路径以提供程序名称开头,后跟两个冒号:

“Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion”。

Get-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion

示例 4:获取注册表子项中注册表项的值名称和数据

此命令获取“CurrentVersion”注册表子项中“ProgramFilesDir”注册表项的值名称和数据。 该命令使用 Path 参数指定子项和 Name 参数来指定项的值名称。

该命令使用后刻度或重音符('),即 PowerShell 延续字符,以继续第二行上的命令。

Get-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion -Name "ProgramFilesDir"

示例 5:获取注册表项中注册表项的值名称和数据

此命令获取“PowerShellEngine”注册表项中注册表项的值名称和数据。 结果显示在以下示例输出中。

Get-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\PowerShell\1\PowerShellEngine

ApplicationBase         : C:\Windows\system32\WindowsPowerShell\v1.0\
ConsoleHostAssemblyName : Microsoft.PowerShell.ConsoleHost, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, ProcessorArchitecture=msil
PowerShellVersion       : 2.0
RuntimeVersion          : v2.0.50727
CTPVersion              : 5
PSCompatibleVersion     : 1.0,2.0

示例 6:获取、格式化和显示注册表值和数据的结果

此示例演示如何在列表中设置 Get-ItemProperty 命令的输出的格式,以便轻松查看注册表值和数据,并轻松解释结果。

第一个命令使用 Get-ItemProperty cmdlet 获取 Microsoft.PowerShell 子项中的注册表项。 此子项存储 PowerShell 的默认 shell 的选项。 结果显示在以下示例输出中。

输出显示有两个注册表项“Path”和“ExecutionPolicy”。 当注册表项包含少于五个条目时,默认情况下它将显示在表中,但通常更容易在列表中查看。

第二个命令使用相同的 Get-ItemProperty 命令。 但是,这次,该命令使用管道运算符(|)将命令的结果发送到 Format-List cmdlet。 Format-List 命令使用值为“*”的 Property 参数来显示列表中对象的所有属性。 结果显示在以下示例输出中。

生成的显示显示“Path”和“ExecutionPolicy”注册表项,以及注册表项对象的几个不太熟悉的属性。 其他属性(以 PS 为前缀)是 PowerShell 自定义对象的属性,例如表示注册表项的对象。

Get-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\PowerShell\1\ShellIds\Microsoft.PowerShell

Path                                                        ExecutionPolicy
----                                                        ---------------
C:\Windows\system32\WindowsPowerShell\v1.0\powershell.exe   RemoteSigned

Get-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\PowerShell\1\ShellIds\Microsoft.PowerShell | Format-List -Property *

PSPath          : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\Software\Microsoft\PowerShell\1\ShellIds\Micro
soft.PowerShell
PSParentPath    : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\Software\Microsoft\PowerShell\1\ShellIds
PSChildName     : Microsoft.PowerShell
PSDrive         : HKLM
PSProvider      : Microsoft.PowerShell.Core\Registry
Path            : C:\Windows\system32\WindowsPowerShell\v1.0\powershell.exe
ExecutionPolicy : RemoteSigned

参数

-Credential

指定有权执行此操作的用户帐户。 默认值为当前用户。

键入用户名(如“User01”或“Domain01\User01”),或输入 PSCredential 对象,例如由 Get-Credential cmdlet 生成的用户名。 如果键入用户名,系统会提示输入密码。

警告

随 Windows PowerShell 一起安装的任何提供程序都不支持此参数。

类型:PSCredential
Position:Named
默认值:Current user
必需:False
接受管道输入:True
接受通配符:False

-Exclude

指定此 cmdlet 从操作中排除的项目或项作为字符串数组。 此参数的值限定 Path 参数。 输入路径元素或模式,例如“*.txt”。 允许使用通配符。

类型:String[]
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-Filter

以提供程序的格式或语言指定筛选器。 此参数的值限定 Path 参数。

筛选器的语法(包括通配符的使用)取决于提供程序。 筛选器比其他参数更有效,因为提供程序在 cmdlet 获取对象时应用它们,而不是在检索对象后让 PowerShell 筛选对象。

类型:String
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:True

-Include

指定此 cmdlet 包含在操作中的项(作为字符串数组)。 此参数的值限定 Path 参数。 输入路径元素或模式,例如“*.txt”。 允许使用通配符。

类型:String[]
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-LiteralPath

指定属性当前位置的路径。 与 Path 参数不同,LiteralPath 的值与键入时完全相同。 不会将任何字符解释为通配符。 如果路径包含转义字符,请将它括在单引号中。 单引号告知 PowerShell 不要将任何字符解释为转义序列。

类型:String[]
别名:PSPath
Position:Named
默认值:None
必需:True
接受管道输入:True
接受通配符:False

-Name

指定要检索的属性或属性的名称。

类型:String[]
别名:PSProperty
Position:1
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-Path

指定项或项的路径。

类型:String[]
Position:0
默认值:None
必需:True
接受管道输入:True
接受通配符:False

-UseTransaction

在活动事务中包含该命令。 此参数仅在事务正在进行时有效。 有关详细信息,请参阅包含活动事务中的命令。 此参数仅在事务正在进行时有效。 有关详细信息,请参阅 about_Transactions

类型:SwitchParameter
别名:usetx
Position:Named
默认值:False
必需:False
接受管道输入:False
接受通配符:False

输入

String

可以通过管道传递包含 Get-ItemProperty路径的字符串。

输出

System.Boolean, System.String, System.DateTime

Get-ItemProperty 返回它获取的每个项属性的对象。 对象类型取决于检索的对象。 例如,在文件系统驱动器中,它可能会返回文件或文件夹。

备注

Get-ItemProperty cmdlet 旨在处理任何提供程序公开的数据。 若要列出会话中可用的提供程序,请键入“Get-PSProvider”。 有关详细信息,请参阅about_Providers。