我的 2008 powershell 脚本在 2012r2 中无法正常工作。命令
New-SelfSignedCertificate -DnsName test.testdomain.com -NotBefore [datetime]::now.AddYears(10)
返回:
New-SelfSignedCertificate : A parameter cannot be found that matches parameter name 'NotBefore'
我在 Windows 10 中运行了这个测试,一切顺利......
我没有(不能)下载旧版本的 selfssl 来执行此操作(是的,我知道这一点)。它需要在 powershell 中完成,否则我将不得不考虑在另一个机器上的 openssl 中生成这些证书。
有人知道这是怎么回事吗?
答案1
正如 Sam 提到的,此参数是在 Windows 10 中引入的,在以前的版本中不可用。
作为替代解决方案,我建议使用我几年前编写的自定义 PowerShell 脚本:https://gallery.technet.microsoft.com/scriptcenter/Self-signed-certificate-5920a7c6 该页面包含所有参数说明和使用示例。
高血压
答案2
NotBefore 仅在 Windows 10/Server 2016 技术预览版中可用。如果您查看这一页并在下拉菜单中更改操作系统,您将看到它不存在于 2012 R2 中。