我希望查询SCCM SQL服务器,但是它仅在命令是特定方式时才起作用。例如,此方法有效
Get-WmiObject -namespace $SCCMNameSpace -computer $SCCMServer -query "select Name from sms_r_system"
但这不起作用
(Get-WmiObject -namespace $SCCMNameSpace -computer $SCCMServer -query "select Name from sms_r_system").Name
当我运行第一个命令时,每个系统的输出如下所示
__GENUS : 2
__CLASS : SMS_R_System
__SUPERCLASS : SMS_Resource
__DYNASTY : SMS_BaseClass
__RELPATH :
__PROPERTY_COUNT : 1
__DERIVATION : {SMS_Resource, SMS_BaseClass}
__SERVER : serverName
__NAMESPACE : root\sms\site_P01
__PATH :
Name : computerName
PSComputerName : serverName
在不起作用的示例中,我尝试用括号将命令括起来,并进行.Name
来检索“名称”属性,但这没有用。没有错误,但脚本只是继续运行而没有输出。
为什么会这样?我可以运行这样的命令而不会出现问题:
$Computers =(Get-WmiObject -namespace $SCCMNameSpace -computer $SCCMServer -query "select Name from sms_r_system where LastLogonUserName='$User'").Name