wmi加速器和身份验证

时间:2014-03-24 09:34:19

标签: powershell wmi sccm

在PowerShell脚本中使用WMI加速器时,我似乎找不到清楚的写法,你无法传递身份验证。

一点背景......

我正在为SCCM 2012编写PowerShell脚本,例如,发现了以下内容:

PS R:\> ([wmi]((gwmi -namespace root\sms\site_AAA -class SMS_Application -filter  
"LocalizedDisplayName LIKE '%Winzip_Tartempion%'")
.__PATH)).SDMPackageXML

在本地执行时(在SCCM主服务器上,它工作正常并且很快。 但是,从运行W7的桌面计算机执行时,以下内容最终会出错:

PS R:\> ([wmi]((gwmi -namespace root\sms\site_AAA -credential $cred 
-ComputerName CEMTECH 
-class SMS_Application -filter "LocalizedDisplayName LIKE   
'%Winzip_Tartempion%'")
.__PATH)).SDMPackageXML

目前,使用PSSession是不可能的。 对于我必须处理的当前基础设施,使用SCCM命令行开关是不可能的。

我唯一的问题是:您能否确认我们无法通过WMI加速器进行任何身份验证?那时,我正在寻找那个答案,主要是因为我的好奇心。我找到了一种管理当前约束的方法。只是我发现加速器如此优雅"。

现在我为什么需要它?我需要访问"懒惰的属性"不使用SCCM cmdlet,从用户登录的台式计算机上使用的帐户与授权连接/访问SCCM主服务器的名称不同。

我仍然没有找到如何使用" * .__ PATH"使用Get-WMIObject cmdlet。

1 个答案:

答案 0 :(得分:2)

WMI加速器[wmi]不支持备用凭据。

你为什么需要它?你可以跑:

$obj = Get-WmiObject -namespace root\sms\site_P41 -credential $cred -ComputerName qs07352 -class SMS_Application -filter "LocalizedDisplayName LIKE '%Winzip_Tartempion%'"
$obj.Get()

$obj.SDMPackageXML