Set-SBCertificate未找到有效证书

时间:2015-05-13 15:13:04

标签: powershell servicebus

我正尝试通过PowerShell将预生成(从Active Directory CA)证书应用到我们的On-Premise服务总线环境。以下是我正在执行的脚本:

$cert = Get-ChildItem Cert:\LocalMachine\Root | ?{$_.FriendlyName -eq '[CERTS FRIENDLY NAME]'}

Set-SBCertificate -EncryptionCertificateThumbprint $cert.Thumbprint -FarmCertificateThumbprint $cert.Thumbprint`

以下是我得到的错误:

  

Set-SBCertificate:无法验证参数'EncryptionCertificateThumbprint'的参数。有效证书   未找到指纹xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx   在行:1字符:52   + Set-SBCertificate -EncryptionCertificateThumbprint $ encryptCert.Thumbprint -Farm ...   + ~~~~~~~~~~~~~~~~~~~~~~~       + CategoryInfo:InvalidData:(:) [Set-SBCertificate],ParameterBindingValidationException       + FullyQualifiedErrorId:ParameterArgumentValidationError,Microsoft.ServiceBus.Commands.SetSBFarmCertificate

我为解决此问题所做的事情列表:

  1. 验证$ cert实际上包含证书。
  2. 通过转到mmc.exe并查看“证书(本地计算机)/受信任的根证书颁发机构/证书”,验证服务器上是否已安装证书。
  3. 尝试为Farm和Encryption使用2个差异证书。
  4. 有没有人对此问题有任何想法?或者可能知道powershell模块试图在哪里查找证书?非常感谢任何帮助!

2 个答案:

答案 0 :(得分:1)

为了获得此命令以查找证书,我们必须将它们添加到“受信任的根证书颁发机构”下的“证书(本地计算机)”中。和#34;个人。"

答案 1 :(得分:0)

对我来说,问题是整个证书被删除了(不知道怎么做)。 我打开注册表编辑器,然后从HKey_current_User和Hkey_Local_Machine中删除整个ServiceBus,然后在Microsoft内部删除整个Service Bus文件夹。

从“控制面板”中添加“删除”程序可以使服务总线停止运行。

重新安装服务总线。