我做错了什么?所有网站都说“要查看证书提供商以查找具有此dns名称的证书,请使用命令Get-ChildItem -Path Cert:\LocalMachine\My -DnsName "Will we ever know?"
并且看,它实际上在我的大多数机器上工作。另外值得注意的是,Get-ChildItem -Path Cert:\LocalMachine\My
愉快地返回证书,它特别是故障过滤器。
请参阅:https://technet.microsoft.com/en-us/library/hh847761.aspx
但对于我环境中的某些机器子类(我需要管理很多机器,因此通过powershell进行自动化),我得到了这个:
Get-ChildItem : A parameter cannot be found that matches parameter name 'DnsName'.
At line:1 char:43
+ Get-ChildItem -Path Cert:\LocalMachine\My -DnsName "what does the fox say" ...
+ ~~~~~~~~
+ CategoryInfo : InvalidArgument: (:) [Get-ChildItem], ParameterBindingException
+ FullyQualifiedErrorId : NamedParameterNotFound,Microsoft.PowerShell.Commands.GetChildItemCommand
请注意,我已对某些方面进行了匿名处理,因此此“查询”将无效,因为内部详细信息无关紧要。为什么我在此查询中获得NamedParameterNotFound
?
注意:
答案 0 :(得分:1)
检查$PSVersionTable.PSVersion
:PowerShell 3.0中引入了选项-DnsName
使用Get-PSDrive -Name 'Cert'
Get-PSProvider
和提供商“ Cerificate ”
强制使用
映射另一个证书驱动器 New-PSDrive -PSProvider Certificate -Name 'Cert2' -Root '\'
答案 1 :(得分:0)
我提醒说,我从来没有回答过这个问题。显然我们很可能安装了更新。我在删除这个问题或者说我们安装了我们需要的最新工具之间徘徊,因为这是针对Server 2008的。
如果您因为2008年遇到此问题而发现此问题,请在下面发表评论,我会尽力帮助您,以便我们能够正确解决此问题!