繁体   English   中英

Get-ChildItem Cert:\\(本地执行) vs. Invoke-Command 结果差异混淆?

[英]Get-ChildItem Cert:\ (Locally executed) vs. Invoke-Command results difference confusion?

我正在处理下面的代码。 我试图确定为什么结果不同,因为脚本命令行是相同的。

从 SVRAD1 本地执行:

Get-ChildItem Cert:\ -ExpiringInDays 365 -Recurse | where-object {$_.subject -like "*Microsoft*"} | Select-Object ThumbPrint, FriendlyName, Subject, NotAfter, HasPrivateKey, Issuer | ogv

结果显示 4 个 SSL 证书:

在此处输入图片说明

从我的笔记本电脑针对 SVRAD1 本地执行:

$DCList = 'SVRAD1'
Invoke-Command -Computer $DCList {
    Get-ChildItem Cert:\ -ExpiringInDays 365 -Recurse | where-object {$_.subject -like "*Microsoft*"} | Select-Object ThumbPrint, FriendlyName, Subject, NotAfter, HasPrivateKey, Issuer
} | ogv

结果仅显示 2x SSL 证书:

在此处输入图片说明

如您所见,从指纹可以看出,本地运行时证书翻了一番,这与当前用户有关。 添加到您的对象列表

..., PSPath | ogv

PSParentPath 你会看到两个重复有

Certificate:LocalMachine
Certificate:CurrentUser

在他们的基地。 因此,您会看到在两个不同路径中访问的同一个证书。 当然,当您远程运行时,当前用户证书将丢失,您只能看到本地机器之一(在这种情况下,本地机器是远程 SVRD,在该命令运行的情况下,不是您自己的)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM