Certificate Provider

提供程序名称

Certificate

驱动器

Cert:

简短说明

提供对 X.509 证书存储和对 Windows PowerShell 中的证书的访问。

详细说明

Windows PowerShell 安全策略支持使用 Authenticode 签名和 X.509 编码的数字公钥证书对脚本进行签名。Windows PowerShell 的签名功能并不完整,但这些功能允许用户对脚本进行签名,并允许 Windows PowerShell 识别已签名和未签名的脚本,以及确定脚本是否源自 Internet。

Windows PowerShell 证书提供程序允许您在证书命名空间中进行导航并查看证书存储和证书。它还允许您复制、移动和删除证书和证书存储,并在 Microsoft 管理控制台 (MMC) 中打开证书管理单元。

证书提供程序在 Windows PowerShell 中将证书命名空间公开为 Cert: 驱动器。Cert: 驱动器具有以下三个级别:

-- 存储位置 (Microsoft.PowerShell.Commands.X509StoreLocation),它是对当前用户和所有用户证书进行分组的高级容器。每个系统具有一个 CurrentUser 和 LocalMachine(所有用户)存储位置。

-- 证书存储区 (System.Security.Cryptography.X509Certificates.X509Store),它是保存和管理证书的物理存储区。

-- X.509 证书 (System.Security.Cryptography.X509Certificates.X509Certificate2),其中每个证书表示计算机上的一个 X.509 证书。证书通过证书指纹进行识别。

Windows PowerShell 证书提供程序支持 Set-Location、Get-Location、Get-Item、Get-ChildItem 和 Invoke-Item cmdlet。

另外,包括证书提供程序的 Windows PowerShell 安全性管理单元 (Microsoft.PowerShell.Security) 还包括获取和设置 Authenticode 签名和获取证书的管理单元。要获取安全性管理单元中的 cmdlet 列表,请键入“get-command -module *security”。

示例

在 Cert: 驱动器中导航

-------------------------- 示例 1 --------------------------

此命令使用 Set-Location cmdlet 更改 Cert: 驱动器的当前位置。

set-location cert:

-------------------------- 示例 2 --------------------------

此命令使用 Set-Location 命令将当前位置更改为 LocalMachine 存储位置中的 Root 证书存储。使用反斜杠 (\) 或正斜杠 (/) 指示 Cert: 驱动器的级别。

set-location -path LocalMachine\Root

如果您不在 Cert: 驱动器中,请在路径前面添加驱动器名称。

显示 Cert: 驱动器的内容

-------------------------- 示例 1 --------------------------

此命令使用 Get-ChildItem cmdlet 显示 CurrentUser 证书存储位置中的证书存储。

get-childitem -path cert:\CurrentUser

如果您位于 Cert: 驱动器中,则可以省略驱动器名称。

-------------------------- 示例 2 --------------------------

此命令使用 Get-ChildItem cmdlet 显示 My 证书存储中的证书。

get-childitem -path cert:\CurrentUser\My

如果您位于 Cert: 驱动器中,则可以省略驱动器名称。

-------------------------- 示例 3 --------------------------

此命令使用 Get-Item cmdlet 获取“My”证书存储,并使用 Format-List 带通配符 (*) 的 Property 参数来显示存储的所有属性。

get-item -path cert:\CurrentUser\My | format-list *

-------------------------- 示例 4 --------------------------

此命令获取证书并显示证书的所有属性。它使用 Get-ChildItem cmdlet 获取证书,并使用 Format-List 带通配符 (*) 的 Property 参数来显示证书的所有属性。

证书通过证书指纹进行识别。

get-childitem -path cert:\CurrentUser\my\6B8223358119BB08840DEE50FD8AF9EA776CE66B | format-list -property *

-------------------------- 示例 5 --------------------------

此命令使用 Get-ChildItem cmdlet 获取计算机上的所有证书,并使用其 CodeSigningCert 动态参数来仅获取具有代码签名颁发机构的证书。

get-childitem -path * -codesigningcert -recurse

打开 MMC 证书管理单元

-------------------------- 示例 1 --------------------------

此命令打开 MMC 证书管理单元来管理指定的证书。

invoke item cert:\CurrentUser\my\6B8223358119BB08840DEE50FD8AF9EA776CE66B

动态参数

动态参数是由 Windows PowerShell 提供程序添加的 cmdlet 参数,且只可用于在启用了提供程序的驱动器中使用 cmdlet 的情况。

CodeSigningCert <System.Management.Automation.SwitchParameter>

仅获取那些具有代码签名颁发机构的证书。

支持 Cmdlet

另请参阅

概念

about_providers
about_Signing
Get-AuthenticodeSignature
Set-AuthenticodeSignature
Get-PfxCertificate