powershell - SQL Server 无法在 PowerShell ( x86 ) 上执行 WmiObject,但在 PowerShell

  显示原文与译文双语对照的内容

为什么要在PowerShell上执行下列代码,但不能在同一计算机上的PowerShell ( x86 ) 上执行下列代码?


Get-WmiObject -Namespace"rootMicrosoftSqlServerComputerManagement13" -Class ServerSettingsGeneralFlag -Filter"FlagName='ForceEncryption'"



异常:

At line:1 char:1 
+ Get-WmiObject -Namespace"rootMicrosoftSqlServerComputerManagement.. .
 + CategoryInfo : NotSpecified: (:) [Get-WmiObject], FileNotFoundException
 + FullyQualifiedErrorId : System.IO.FileNotFoundException,Microsoft.PowerShell.Commands.GetWmiObjectCommand
时间: 原作者:

就像 @AnsgarWiechers 所说,它可能不存在。 关于原因,你可能已经安装了 64位 SQL Server 而不是 32位?

你可以解决这里问题的一种方法是使用PowerShell远程处理。 如果已经启用并配置了PowerShell远程处理,则可以从 32位进程远程进入自己的计算机。 所以你可以运行这个代码从 64位会话中得到你的结果。


$result64 = Invoke-Command -ComputerName. -ScriptBlock {


 Get-WmiObject -Namespace"rootMicrosoftSqlServerComputerManagement13" -Class ServerSettingsGeneralFlag -Filter"FlagName='ForceEncryption'"


}



原作者:
...