Get-Item
获取位于指定位置的项。
语法
Get-Item
[-Path] <String[]>
[-Filter <String>]
[-Include <String[]>]
[-Exclude <String[]>]
[-Force]
[-Credential <PSCredential>]
[-UseTransaction]
[-Stream <String[]>]
[<CommonParameters>]
Get-Item
-LiteralPath <String[]>
[-Filter <String>]
[-Include <String[]>]
[-Exclude <String[]>]
[-Force]
[-Credential <PSCredential>]
[-UseTransaction]
[-Stream <String[]>]
[<CommonParameters>]
Get-Item
[-Path] <string[]>
[-Filter <string>]
[-Include <string[]>]
[-Exclude <string[]>]
[-Force]
[-Credential <pscredential>]
[-UseTransaction]
[-CodeSigningCert]
[-DocumentEncryptionCert]
[-SSLServerAuthentication]
[-DnsName <string>]
[-Eku <string[]>]
[-ExpiringInDays <int>]
[<CommonParameters>]
Get-Item
-LiteralPath <string[]>
[-Filter <string>]
[-Include <string[]>]
[-Exclude <string[]>]
[-Force]
[-Credential <pscredential>]
[-UseTransaction]
[-CodeSigningCert]
[-DocumentEncryptionCert]
[-SSLServerAuthentication]
[-DnsName <string>]
[-Eku <string[]>]
[-ExpiringInDays <int>]
[<CommonParameters>]
Get-Item
[-Path] <string[]>
[-Filter <string>]
[-Include <string[]>]
[-Exclude <string[]>]
[-Force]
[-Credential <pscredential>]
[-UseTransaction]
[<CommonParameters>]
Get-Item
-LiteralPath <string[]>
[-Filter <string>]
[-Include <string[]>]
[-Exclude <string[]>]
[-Force]
[-Credential <pscredential>]
[-UseTransaction]
[<CommonParameters>]
说明
Get-Item
cmdlet 获取位于指定位置的项。 除非使用通配符 (*
) 来请求该项的所有内容,否则此命令不会获取位于该位置的项的内容。
PowerShell 提供程序通过使用此 cmdlet,可以在不同类型的数据存储进行导航。 某些参数仅适用于特定提供程序。 有关详细信息,请参阅 about_Providers。
示例
示例 1:获取当前目录
此示例获取当前目录。 句点 ('.') 表示当前位置处的项(而非其内容)。
Get-Item .
Directory: C:\
Mode LastWriteTime Length Name
---- ------------- ------ ----
d---- 7/26/2006 10:01 AM ps-test
示例 2:获取当前目录中的所有项
此示例将获取当前目录中的所有项。 通配符 (*
) 表示当前项的所有内容。
Get-Item *
Directory: C:\ps-test
Mode LastWriteTime Length Name
---- ------------- ------ ----
d---- 7/26/2006 9:29 AM Logs
d---- 7/26/2006 9:26 AM Recs
-a--- 7/26/2006 9:28 AM 80 date.csv
-a--- 7/26/2006 10:01 AM 30 filenoext
-a--- 7/26/2006 9:30 AM 11472 process.doc
-a--- 7/14/2006 10:47 AM 30 test.txt
示例 3:获取驱动器的当前目录
此示例获取 C:
驱动器的当前目录。 检索到的对象仅表示目录,而不表示其内容。
Get-Item C:
示例 4:获取指定驱动器中的项
此示例获取 C:
驱动器中的项。 通配符 (*
) 表示容器中的所有项,而不仅仅表示容器。
Get-Item C:\*
在 PowerShell 中,使用单个星号 (*
) 来获取内容,而不使用传统的 *.*
。 格式是按字面意思解释的,因此 *.*
将不会检索没有点的目录或文件名。
示例 5:获取指定目录中的属性
此示例获取 C:\Windows
目录的 LastAccessTime 属性。 LastAccessTime 只是文件系统目录的一个属性。 若要查看目录的所有属性,请键入 (Get-Item <directory-name>) | Get-Member
。
(Get-Item C:\Windows).LastAccessTime
示例 6:显示注册表项的内容
此示例显示 Microsoft.PowerShell 注册表项的内容。 可以将此 cmdlet 与 PowerShell 注册表提供程序一起使用以获取注册表项和子项,但必须使用 Get-ItemProperty
cmdlet 来获取注册表值和数据。
Get-Item HKLM:\Software\Microsoft\Powershell\1\Shellids\Microsoft.Powershell\
示例 7:获取目录中具有排除项的项
此示例获取 Windows 目录中的其名称包含点 (.
) 但不以 w*
开头的项。此示例只有在路径包括通配符 (*
) 以指定项的内容的情况下才起作用。
Get-Item C:\Windows\*.* -Exclude "w*"
参数
-CodeSigningCert
这是证书提供程序提供的动态参数。
若要获取 EnhancedKeyUsageList 属性值中具有 Code Signing
的证书,请使用 CodeSigningCert 参数。
有关详细信息,请参阅 about_Certificate_Provider。
类型: | SwitchParameter |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-Credential
注意
随同 PowerShell 一起安装的任何提供程序都不支持此参数。 若要模拟其他用户,或在运行此 cmdlet 时提升凭据,请使用 Invoke-Command。
类型: | PSCredential |
Position: | Named |
默认值: | Current user |
必需: | False |
接受管道输入: | True |
接受通配符: | False |
-DnsName
这是证书提供程序提供的动态参数。
指定与 cmdlet 获取的证书 DNSNameList 属性匹配的域名或名称模式。 该参数的值可以是 Unicode
或 ASCII
。 Punycode 值将转换为 Unicode。 允许使用通配符 (*
)。
此参数是在 PowerShell 7.1 中引入的
有关详细信息,请参阅 about_Certificate_Provider。
类型: | DnsNameRepresentation |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | True |
-DocumentEncryptionCert
这是证书提供程序提供的动态参数。
若要获取 EnhancedKeyUsageList 属性值中具有 Document Encryption
的证书,请使用 DocumentEncryptionCert 参数。
有关详细信息,请参阅 about_Certificate_Provider。
类型: | SwitchParameter |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-Eku
这是证书提供程序提供的动态参数。
指定与 cmdlet 获取的证书 EnhancedKeyUsageList 属性匹配的文本或文本模式。 允许使用通配符 (*
)。 EnhancedKeyUsageList 属性包含 EKU 的易记名称和 OID 字段。
此参数是在 PowerShell 7.1 中引入的
有关详细信息,请参阅 about_Certificate_Provider。
类型: | String |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | True |
-Exclude
指定此 cmdlet 将在操作中排除的一个项或多个项(作为一个字符串数组)。 此参数值使 Path 参数有效。 请输入路径元素或模式,例如 *.txt
。 允许使用通配符。 仅当该命令包括项的内容时(例如 C:\Windows\*
,其中通配符指定 C:\Windows
目录的内容),Exclude 参数才有效。
类型: | String[] |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | True |
-ExpiringInDays
这是证书提供程序提供的动态参数。
指定该 cmdlet 仅应返回将在指定天数内或之前过期的证书。 值 0 (0
) 将获取已过期的证书。
此参数是在 PowerShell 7.1 中引入的
有关详细信息,请参阅 about_Certificate_Provider。
类型: | Int32 |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-Filter
指定用于限定 Path 参数的筛选器。 FileSystem 提供程序是唯一支持筛选器的已安装 PowerShell 提供程序。 筛选器比其他参数更高效。 该提供程序在 cmdlet 获取对象时应用筛选器,而不是在检索对象后让 PowerShell 筛选对象。 筛选器字符串将传递给 .NET API 以枚举文件。 该 API 仅支持 *
和 ?
通配符。
类型: | String |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | True |
-Force
指示此 cmdlet 获取无法访问的项目,如隐藏项。 不同提供程序有不同的实现。 有关详细信息,请参阅 about_Providers。 即使使用 Force 参数,该 cmdlet 也无法覆盖安全限制。
类型: | SwitchParameter |
Position: | Named |
默认值: | False |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-Include
指定此 cmdlet 将在操作中包含的一个项或多个项(作为一个字符串数组)。 此参数值使 Path 参数有效。 请输入路径元素或模式,例如 *.txt
。 允许使用通配符。 仅当该命令包括项的内容时(例如 C:\Windows\*
,其中通配符指定 C:\Windows
目录的内容),Include 参数才有效。
类型: | String[] |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | True |
-LiteralPath
指定一个或多个位置的路径。 LiteralPath 的值严格按照所键入的形式使用。 不会将任何字符解释为通配符。 如果路径包括转义符,请将其括在单引号中。 单引号告知 PowerShell 不要将任何字符解释为转义序列。
有关详细信息,请参阅 about_Quoting_Rules。
类型: | String[] |
别名: | PSPath |
Position: | Named |
默认值: | None |
必需: | True |
接受管道输入: | True |
接受通配符: | False |
-Path
指定项的路径。 此 cmdlet 获取位于指定位置的项。 允许使用通配符。 此参数为必需参数,但参数名 Path 为可选项。
使用句点 (.
) 来指定当前位置。 使用通配符 (*
) 可以指定当前位置中的所有项。
类型: | String[] |
Position: | 0 |
默认值: | None |
必需: | True |
接受管道输入: | True |
接受通配符: | True |
-SSLServerAuthentication
这是证书提供程序提供的动态参数。
若要获取 EnhancedKeyUsageList 属性值中具有 Server Authentication
的证书,请使用 SSLServerAuthentication 参数。
有关详细信息,请参阅 about_Certificate_Provider。
类型: | SwitchParameter |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-Stream
这是 FileSystem 提供程序提供的动态参数。
从文件获取指定的备用 NTFS 文件流。 输入流名称。 支持通配符。 若要获取所有流,请使用星号 (*
)。 此参数在文件夹上无效。
此参数是在 PowerShell 3.0 中引入的。
有关详细信息,请参阅 about_FileSystem_Provider。
类型: | String[] |
Position: | Named |
默认值: | No alternate file streams |
必需: | False |
接受管道输入: | False |
接受通配符: | True |
-UseTransaction
在活动事务中使用该命令。 仅当正在执行事务时,此参数才有效。 有关详细信息,请参阅 about_Transactions。
类型: | SwitchParameter |
别名: | usetx |
Position: | Named |
默认值: | False |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
输入
可以通过管道将包含路径的字符串传递给此 cmdlet。
输出
该 cmdlet 在访问 Alias:
驱动器时输出此类型。
该 cmdlet 在访问 Cert:
驱动器时输出这些类型。
该 cmdlet 在访问 Env:
驱动器时输出此类型。
该 cmdlet 在访问 Filesystem 驱动器时输出这些类型。
该 cmdlet 在访问 Function:
驱动器时输出这些类型。
该 cmdlet 在访问注册表驱动器时输出此类型。
该 cmdlet 在访问 Variable:
驱动器时输出此类型。
该 cmdlet 在访问 WSMan:
驱动器时输出这些类型。
备注
Windows PowerShell 包含以下 Get-Item
别名:
gi
此 cmdlet 没有 Recurse 参数,因为它只获取项,而不获取其内容。
若要递归获取项的内容,请使用 Get-ChildItem
。
若要在注册表中导航,请使用此 cmdlet 来获取注册表项,使用 Get-ItemProperty
来获取注册表值和数据。 注册表值被视为注册表项的属性。
此 cmdlet 用于处理由任何提供程序公开的数据。 若要列出会话中可用的提供程序,请键入 Get-PsProvider
。 有关详细信息,请参阅 about_Providers。