当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] Get-Item (Microsoft.PowerShell.Management)

作者:精品下载站 日期:2024-12-14 02:12:27 浏览:15 分类:玩电脑

Get-Item (Microsoft.PowerShell.Management)


Get-Item

模块 :Microsoft.PowerShell.Management

获取指定位置的项目。

句法

Get-Item
   [-Path] <string[]>
   [-Filter <string>]
   [-Include <string[]>]
   [-Exclude <string[]>]
   [-Force]
   [-Credential <pscredential>]
   [-Stream <string[]>]
   [<CommonParameters>]
Get-Item
   -LiteralPath <string[]>
   [-Filter <string>]
   [-Include <string[]>]
   [-Exclude <string[]>]
   [-Force]
   [-Credential <pscredential>]
   [-Stream <string[]>]
   [<CommonParameters>]
Get-Item
   [-Path] <string[]>
   [-Filter <string>]
   [-Include <string[]>]
   [-Exclude <string[]>]
   [-Force]
   [-Credential <pscredential>]
   [-CodeSigningCert]
   [-DocumentEncryptionCert]
   [-SSLServerAuthentication]
   [-DnsName <string>]
   [-Eku <string[]>]
   [-ExpiringInDays <int>]
   [<CommonParameters>]
Get-Item
   -LiteralPath <string[]>
   [-Filter <string>]
   [-Include <string[]>]
   [-Exclude <string[]>]
   [-Force]
   [-Credential <pscredential>]
   [-CodeSigningCert]
   [-DocumentEncryptionCert]
   [-SSLServerAuthentication]
   [-DnsName <string>]
   [-Eku <string[]>]
   [-ExpiringInDays <int>]
   [<CommonParameters>]
Get-Item
   [-Path] <string[]>
   [-Filter <string>]
   [-Include <string[]>]
   [-Exclude <string[]>]
   [-Force]
   [-Credential <pscredential>]
   [<CommonParameters>]
Get-Item
   -LiteralPath <string[]>
   [-Filter <string>]
   [-Include <string[]>]
   [-Exclude <string[]>]
   [-Force]
   [-Credential <pscredential>]
   [<CommonParameters>]

描述

Get-Item cmdlet 获取指定位置的项目。除非您使用通配符 (*) 请求该项目的所有内容,否则它不会获取该位置的项目内容。

PowerShell 提供程序使用此 cmdlet 来浏览不同类型的数据存储。

示例

示例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 ) |获取会员

(Get-Item C:\Windows).LastAccessTime

示例 6:显示注册表项的内容

此示例显示 Microsoft.PowerShell 注册表项的内容。您可以将此 cmdlet 与 PowerShell 注册表提供程序结合使用来获取注册表项和子项,但必须使用 Get-ItemProperty cmdlet 来获取注册表值和数据。

Get-Item HKLM:\Software\Microsoft\Powershell\Shellids\Microsoft.Powershell\

示例 7:获取目录中具有排除项的项目

此示例获取 Windows 目录中名称包含点 (.) 的项目,但不以 w* 开头。此示例仅在路径包含通配符 (*) 用于指定项目的内容。

Get-Item C:\Windows\*.* -Exclude "w*"

示例8:获取硬链接信息

在 PowerShell 6.2 中,添加了备用视图来获取硬链接信息。要获取硬链接信息,请将输出通过管道传输到 Format-Table -View kidsWithHardlink

Get-Item C:\Windows\System32\ntoskrnl.exe | Format-Table -view childrenWithHardLink

Directory: C:\Windows\System32

Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
la---           5/12/2021  7:40 AM       10848576 ntoskrnl.exe

Mode 属性通过 la--- 中的 l 标识硬链接

示例 9:非 Windows 操作系统的输出

在 Unix 系统上的 PowerShell 7.1 中,Get-Item cmdlet 提供类似 Unix 的输出:

PS> Get-Item /Users

Directory: /

UnixMode    User  Group   LastWriteTime      Size  Name
--------    ----  -----   -------------      ----  ----
drwxr-xr-x  root  admin   12/20/2019 11:46   192   Users

现在作为输出一部分的新属性是:

  • UnixMode 是 Unix 系统上表示的文件权限
  • 用户是文件所有者
  • 群组是群组所有者
  • Size 是 Unix 系统上表示的文件或目录的大小

笔记

此功能在 PowerShell 7.1 中从实验性转变为主流。

参数

-CodeSigningCert

这是证书提供商提供的动态参数。此参数和证书提供程序仅在 Windows 上可用。

要获取其 EnhancedKeyUsageList 属性值中具有代码签名的证书,请使用 CodeSigningCert 参数。

有关更多信息,请参阅 about_Certificate_Provider。

类型 :

SwitchParameter

位置:

命名

默认值:

None

必需的:

False

接受管道输入:

False

接受通配符:

False

-Credential

笔记

随 PowerShell 安装的任何提供程序均不支持此参数。要在运行此 cmdlet 时模拟其他用户或提升您的凭据,请使用 Invoke-Command。

类型 :

PS凭证

位置:

命名

默认值:

当前用户

必需的:

False

接受管道输入:

True

接受通配符:

False

-DnsName

这是证书提供商提供的动态参数。此参数和证书提供程序仅在 Windows 上可用。

指定与 cmdlet 获取的证书的 DNSNameList 属性匹配的域名或名称模式。此参数的值可以是 UnicodeASCII。 Punycode 值转换为 Unicode。允许使用通配符 (*)。

PowerShell 7.1 中重新引入了此参数

有关更多信息,请参阅 about_Certificate_Provider。

类型 :

Dns名称表示

位置:

命名

默认值:

None

必需的:

False

接受管道输入:

False

接受通配符:

True

-DocumentEncryptionCert

这是证书提供商提供的动态参数。此参数和证书提供程序仅在 Windows 上可用。

要获取其 EnhancedKeyUsageList 属性值中具有 Document Encryption 的证书,请使用 DocumentEncryptionCert 参数。

有关更多信息,请参阅 about_Certificate_Provider。

类型 :

SwitchParameter

位置:

命名

默认值:

None

必需的:

False

接受管道输入:

False

接受通配符:

False

-Eku

这是证书提供商提供的动态参数。此参数和证书提供程序仅在 Windows 上可用。

指定与 cmdlet 获取的证书的 EnhancedKeyUsageList 属性匹配的文本或文本模式。允许使用通配符 (*)。 EnhancedKeyUsageList 属性包含 EKU 的友好名称和 OID 字段。

此参数在 PowerShell 7.1 中重新引入

有关更多信息,请参阅 about_Certificate_Provider。

类型 :

String

位置:

命名

默认值:

None

必需的:

False

接受管道输入:

False

接受通配符:

True

-Exclude

以字符串数组形式指定此 cmdlet 在操作中排除的一个或多个项目。此参数的值限定 Path 参数。输入路径元素或模式,例如 *.txt。允许使用通配符。仅当命令包含某个项目的内容时,排除参数才有效,例如C:\Windows\*,其中通配符指定的内容>C:\Windows 目录。

类型 :

String[]

位置:

命名

默认值:

None

必需的:

False

接受管道输入:

False

接受通配符:

True

-ExpiringInDays

这是证书提供商提供的动态参数。此参数和证书提供程序仅在 Windows 上可用。

指定 cmdlet 应仅返回在指定天数或之前到期的证书。值零 (0) 获取已过期的证书。

PowerShell 7.1 中重新引入了此参数

有关更多信息,请参阅 about_Certificate_Provider。

类型 :

整数32

位置:

命名

默认值:

None

必需的:

False

接受管道输入:

False

接受通配符:

False

-Filter

指定一个过滤器来限定 Path 参数。文件系统提供程序是唯一安装的支持过滤器的 PowerShell 提供程序。过滤器比其他参数更有效。提供程序在 cmdlet 获取对象时应用筛选器,而不是让 PowerShell 在检索对象后筛选对象。过滤器字符串被传递到 .NET API 以枚举文件。 API 仅支持 *? 通配符。

类型 :

String

位置:

命名

默认值:

None

必需的:

False

接受管道输入:

False

接受通配符:

True

-Force

指示此 cmdlet 获取无法通过其他方式访问的项目,例如隐藏项目。实施方式因提供商而异。有关详细信息,请参阅 about_Providers。即使使用 Force 参数,cmdlet 也无法覆盖安全限制。

类型 :

SwitchParameter

位置:

命名

默认值:

False

必需的:

False

接受管道输入:

False

接受通配符:

False

-Include

以字符串数组形式指定此 cmdlet 在操作中包含的一个或多个项目。此参数的值限定 Path 参数。输入路径元素或模式,例如 *.txt。允许使用通配符。仅当命令包含某个项目的内容时,Include 参数才有效,例如 C:\Windows\*,其中通配符指定 的内容>C:\Windows 目录。

类型 :

String[]

位置:

命名

默认值:

None

必需的:

False

接受管道输入:

False

接受通配符:

True

-LiteralPath

指定到一个或多个位置的路径。 LiteralPath 的值完全按照其键入的方式使用。没有字符被解释为通配符。如果路径包含转义字符,请将其用单引号引起来。单引号告诉 PowerShell 不要将任何字符解释为转义序列。

有关更多信息,请参阅 about_Quoting_Rules。

类型 :

String[]

别名:

PSPath, LP

位置:

命名

默认值:

None

必需的:

True

接受管道输入:

True

接受通配符:

False

-Path

指定项目的路径。此 cmdlet 获取指定位置处的项目。允许使用通配符。此参数是必需的,但参数名称 Path 是可选的。

使用点 (.) 指定当前位置。使用通配符 (*) 指定当前位置的所有项目。

类型 :

String[]

位置:

0

默认值:

None

必需的:

True

接受管道输入:

True

接受通配符:

True

-SSLServerAuthentication

这是证书提供商提供的动态参数。此参数和证书提供程序仅在 Windows 上可用。

要获取其 EnhancedKeyUsageList 属性值中具有服务器身份验证 的证书,请使用 SSLServerAuthentication 参数。

有关更多信息,请参阅 about_Certificate_Provider。

类型 :

SwitchParameter

位置:

命名

默认值:

None

必需的:

False

接受管道输入:

False

接受通配符:

False

-Stream

这是由文件系统提供者提供的动态参数。此参数仅在 Windows 上可用。

从文件中获取指定的替代数据流。输入流名称。支持通配符。要获取所有流,请使用星号 (*)。该参数对目录有效,但注意目录默认没有数据流。

此参数是在 PowerShell 3.0 中引入的。 从 PowerShell 7.2 开始,Get-Item 可以从目录和文件中获取替代数据流。

有关详细信息,请参阅 about_FileSystem_Provider。

类型 :

String[]

位置:

命名

默认值:

没有备用文件流

必需的:

False

接受管道输入:

False

接受通配符:

True

输入

字符串

您可以通过管道传输包含此 cmdlet 路径的字符串。

输出

别名信息

访问 Alias: 驱动器时,cmdlet 会输出此类型。

X509商店位置

X509商店

X509证书2

访问 Cert: 驱动器时,cmdlet 会输出这些类型。

字典条目

访问 Env: 驱动器时,cmdlet 输出此类型。

目录信息

文件信息

访问文件系统驱动器时,cmdlet 输出这些类型。

功能信息

过滤器信息

该 cmdlet 在访问 Function: 驱动器时输出这些类型。

注册表键

访问注册表驱动器时,cmdlet 输出此类型。

PS变量

访问 Variable: 驱动器时,cmdlet 会输出此类型。

WSManConfigContainerElement

WSManConfigLeafElement

访问 WSMan: 驱动器时,cmdlet 会输出这些类型。

笔记

PowerShell 包含以下 Get-Item 别名:

  • 所有平台:

      gi

    此 cmdlet 没有 Recurse 参数,因为它仅获取项目,而不获取其内容。要以递归方式获取项目的内容,请使用 Get-ChildItem

    要浏览注册表,请使用此 cmdlet 获取注册表项,并使用 Get-ItemProperty 获取注册表值和数据。注册表值被视为注册表项的属性。

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

    您需要 登录账户 后才能发表评论

    取消回复欢迎 发表评论:

    关灯