获取Powershell中对象失败的子项管道?

获取Powershell中对象失败的子项管道?,powershell,Powershell,我正在尝试从本地证书存储中检索证书。我一开始是这样做的: PS Cert:\CurrentUser\My> $cert = Get-ChildItem -Path Cert:\CurrentUser\My PS Cert:\CurrentUser\My> $cert | Where-Object {$_.Thumbprint -Match "84437"} Directory: Microsoft.PowerShell.Security\Certificate::Current

我正在尝试从本地证书存储中检索证书。我一开始是这样做的:

PS Cert:\CurrentUser\My> $cert = Get-ChildItem -Path Cert:\CurrentUser\My

PS Cert:\CurrentUser\My> $cert | Where-Object {$_.Thumbprint -Match "84437"}


Directory: Microsoft.PowerShell.Security\Certificate::CurrentUser\My


Thumbprint                                Subject                                                                                                                                                                                    
----------                                -------                                                                                                                                                                                    
8443700000000000000000000000000000000000  CN=some certificate
嗯。这很有效。所以我把它改成:

Get-ChildItem -Path Cert:\CurrentUser\My | Where-Object {$_.Thumbprint -Match "‎84437"}
但是这次我没有得到任何输出。根本原因是什么?

中“84437”的第一个双引号:

似乎包含2个字符,尝试删除它,您将看到实际上需要执行两次

如果我们使用以下方法检查该字符:

"`"‎".ToCharArray()|%{[int][char]$_}
输出非常奇怪:

34
8206
34是双引号,8206是奇怪的东西

因此,只需删除双引号并再次输入,它就可以工作。

中的“84437”中的第一个双引号:

似乎包含2个字符,尝试删除它,您将看到实际上需要执行两次

如果我们使用以下方法检查该字符:

"`"‎".ToCharArray()|%{[int][char]$_}
输出非常奇怪:

34
8206
34是双引号,8206是奇怪的东西


因此,只需删除双引号并再次输入,它就可以工作。

无法重新编程。什么版本的Windows,什么版本的PowerShell?无法重新编程。什么版本的Windows,什么版本的PowerShell?很好<代码>[char]8206似乎非常赞同@MathiasR.Jessen,太棒了,米奇!这真是太棒了,很难找到…谢谢米奇!接得好<代码>[char]8206似乎非常赞同@MathiasR.Jessen,太棒了,米奇!这真是太棒了,很难找到…谢谢米奇!