我有一个问题,希望有人能够解答。我正在编写一个 Powershell 脚本,将证书导入到本地计算机存储,并将“每个人”组分配为证书上私钥的读取权限。
现在,我已经有一个有效的脚本可以实现这一点,但是我注意到我的某个账户被分配了阅读私钥访问控制列表(ACL)的权限,如下图所示:“LogonSessionId_0_some-random-number”。 起初我以为是我的脚本导致了这个问题,但当我手动导入证书时,结果相同。
有人见过这种情况吗?为什么会出现这种情况?这个账户到底是什么,为什么要分配权限?我尝试搜索答案,但没有找到。
不确定是否有帮助,但这是我的代码部分,用于导入证书并分配权限:
任何帮助/见解都非常感激!
现在,我已经有一个有效的脚本可以实现这一点,但是我注意到我的某个账户被分配了阅读私钥访问控制列表(ACL)的权限,如下图所示:“LogonSessionId_0_some-random-number”。 起初我以为是我的脚本导致了这个问题,但当我手动导入证书时,结果相同。
有人见过这种情况吗?为什么会出现这种情况?这个账户到底是什么,为什么要分配权限?我尝试搜索答案,但没有找到。
不确定是否有帮助,但这是我的代码部分,用于导入证书并分配权限:
$sslCert = gci Cert:\LocalMachine\My | WHERE {$_.Subject -match $getCerts} $sslCertPrivKey = $sslCert.PrivateKey $privKeyCertFile = Get-Item -path "$ENV:ProgramData\Microsoft\Crypto\RSA\MachineKeys\*" | WHERE {$_.Name -eq $sslCertPrivKey.CspKeyContainerInfo.UniqueKeyContainerName} $privKeyAcl = (Get-Item -Path $privKeyCertFile.FullName).GetAccessControl("Access") $permission = "Everyone","Read","Allow" $accessRule = New-Object System.Security.AccessControl.FileSystemAccessRule $permission $privKeyAcl.AddAccessRule($accessRule) Set-Acl $privKeyCertFile.FullName $privKeyAcl我使用的是Windows 10专业版。
任何帮助/见解都非常感激!
wmic
命令(例如:wmic useraccount where name='LogonSessionId_0_401541' get sid
),但所有实验都只导致类似于“没有可用的实例”。(不重要的细节:我需要该用户的SID,因为我必须在一个大文件树中替换该用户的ACLs。) - Binarus