0

我在一个容器中有一个 PowerShell 脚本,用于查询我们的内部 CA 是否存在证书。我在这里按照Microsoft 的建议创建了 gMSA 帐户, 然后使用 docker run --security-opt "credentialspec=file://gmsa_CredSpec.json" --restart=always --hostname HOSTNAME -d --name webapp1 webapp:latest其中 HOSTNAME 是托管 docker 引擎的寡妇服务器的实际主机名运行 docker。

我的挑战是试图理解为什么我会ERROR_NO_SUCH_LOGON_SESSION $result = Get-Certificate -Template ServiceTemplate -Url ldap: -CertStoreLocation Cert:\localmachine\My -SubjectName "CN=${name}" -verbose ;下面的脚本一样继续这样做。


$name = "app.company.com
$cert =  (Get-ChildItem -Path Cert:\LocalMachine\My | where-object { $_.Subject -contains "CN=${name}"})
if ($cert.notafter -le (get-date))
{
    Write-Host "Requesting certificate"
    $result = Get-Certificate -Template ServiceTemplate -Url ldap: -CertStoreLocation Cert:\localmachine\My  -SubjectName "CN=${name}" -verbose ;
   $cert = $result.Certificate;
} else {
    write-host "Certificate is valid"
} 

完整的错误

VERBOSE: Performing the operation "Get-Certificate" on target "ldap:".
 Get-Certificate : CertEnroll::CX509EnrollmentPolicyActiveDirectory::GetTemplates: A specified logon session does not 
 exist. It may already have been terminated. 0x80070520 (WIN32: 1312 ERROR_NO_SUCH_LOGON_SESSION)
 At C:\Get-Certificate.ps1:28 char:15
  ...   $result = Get-Certificate -Template ServiceTemplate -Url ldap: -Cert ...

我将不胜感激,因为我所有的研究总是会导致同样的错误

4

0 回答 0