Я работаю над сценарием для Azure точка-VPN, но у меня возникают проблемы, когда я пытаюсь вызвать корневой сертификат как переменную.
Я получаю "Невозможно связать аргумент с параметром 'Cert', поскольку он является нулевым "во второй строке:
$Export_Cert = (Get-ChildItem -Path Cert:\CurrentUser\My\$cert_Thumbprint)
$DER_Cert = (Export-Certificate -Cert $Export_Cert -FilePath C:\certs\$RootCertName.cer)
Я попытался изменить строку:
$Export_Cert = (Get-ChildItem -Path Cert:\CurrentUser\My\$cert_Thumbprint)
на
$Export_Cert = (Get-ChildItem -Path Cert:\CurrentUser\My | Where-Object {$_.Subject -like "*CN=$RootCertName*"})
и
$Export_Cert = (Get-ChildItem -Path Cert:\CurrentUser\My | Where-Object {$_.Subject -match "CN = $RootCertName"})
#Here's more of the code for reference:
##create self signed root certificate
$ cert = New-SelfSignedCertificate -Type Custom -KeySpec Signature
-Subject "$RootCertName" -KeyExportPolicy Exportable
-HashAlgorithm sha256 -KeyLength 2048 `-CertStoreLocation" Cert: \ CurrentUser \ My "-KeyUsageProperty - знакKeyUsage CertSign
##Create client certificate from root certificate
New-SelfSignedCertificate -Тип пользовательский -DnsName P2SChildCert -KeySpec Подпись
-Subject "$ClientCertName" -KeyExportPolicy Exportable
-HashAlgorithm sha256 -KeyLength 2048
-CertStoreLocation "Cert:\CurrentUser\My"
-Signer $ cert -Te.29Ex7 = текст 2.5 (=)} 1.3.6.1.5.5.7.3.2 ")
##export cert to file
$ Export_Cert = (Get-ChildItem -Path Cert: \ CurrentUser \ My \ $ cert_Thumbprint)
$DER_Cert = (Export-Certificate -Cert $Export_Cert -FilePath C:\certs\$RootCertName.cer)