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>]

说明

cmdlet Get-ItemProperty 获取指定项的属性。 例如,可以使用此 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”。 如果注册表项中包含的条目少于 5 个,则默认情况下,将以表的形式显示它,但通常列表形式更易于查看。

第二个命令使用相同的 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 生成的一个 PSCredential 对象。 如果键入用户名,则将提示你输入密码。

警告

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

Type:PSCredential
Position:Named
Default value:Current user
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Exclude

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

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Filter

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

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

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:True

-Include

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

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-LiteralPath

指定此属性的当前位置的路径。 与 Path 参数不同,LiteralPath 的值严格按照所键入的形式使用。 不会将任何字符解释为通配符。 如果路径包括转义符,请将其括在单引号中。 单引号告知 PowerShell 不要将任何字符解释为转义序列。

Type:String[]
Aliases:PSPath
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-Name

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

Type:String[]
Aliases:PSProperty
Position:1
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Path

指定一个或多个项的路径。

Type:String[]
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-UseTransaction

在活动事务中使用该命令。 仅当正在执行事务时,此参数才有效。 有关详细信息,请参阅“在活动事务中使用该命令”。 仅当正在执行事务时,此参数才有效。 有关详细信息,请参阅 about_Transactions

Type:SwitchParameter
Aliases:usetx
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

输入

String

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

输出

System.Boolean, System.String, System.DateTime

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

备注

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