我尝试在PowerShell中使用New-SelfSignedCertificate
在Windows 10上创建证书,但该命令会给我一个权限错误。我使用的是管理员帐户。
命令:
New-SelfSignedCertificate -Type Custom -Subject "CN=Contoso Software, O=Contoso Corporation, C=US" -KeyUsage DigitalSignature -FriendlyName MyCert -CertStoreLocation "Cert:\LocalMachine\My"
输出:
New-SelfSignedCertificate : CertEnroll::CX509Enrollment::_CreateRequest: Access denied. 0x80090010 (-2146893808 NTE_PERM)
At line:1 char:1
+ New-SelfSignedCertificate -Type Custom -Subject "CN=Contoso Software, ..."
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [New-SelfSignedCertificate], Exception
+ FullyQualifiedErrorId : System.Exception,Microsoft.CertificateServices.Commands.NewSelfSignedCertificateCommand
答案 0 :(得分:5)
正如评论中所述,尽管PowerShell.exe是在具有"管理权限的用户帐户下运行的。除非提升,否则该流程不能使用这些权利。
PowerShell窗口将添加"管理员:"默认情况下在标题栏中。否则,您可以通过运行此命令来检查您是否是管理员:
([Security.Principal.WindowsPrincipal] [Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole] "Administrator")
如果通过GUI完成PowerShell的启动,则可以右键单击 - >以管理员身份运行。
否则,您可以通过运行Start-Process powershell.exe -Verb Runas
答案 1 :(得分:0)
通过指定其他证书位置为您的本地用户帐户创建证书:
New-SelfSignedCertificate -CertStoreLocation "Cert:\CurrentUser\My" [...]