2014-10-01 84 views
1

我目前正在编写PowerShell中用于SCCM 2012的一些右键单击工具。 我想编写一个工具来显示右键单击设备的状态消息查询。PowerShell SCCM显示状态消息查询

我想有一个smiliar观为SCCM - >监控 - >状态消息查询 - >从一个特定的系统

到目前为止,我有这个WQL查询所有状态消息:

select SMS_StatusMessage.*, SMS_StatMsgInsStrings.*, SMS_StatMsgAttributes.* 
from SMS_StatusMessage left join SMS_StatMsgInsStrings on SMS_StatMsgInsStrings.RecordID = SMS_StatusMessage.RecordID 
left join SMS_StatMsgAttributes on SMS_StatMsgAttributes.RecordID = SMS_StatusMessage.RecordID 
where SMS_StatusMessage.MachineName = "MyMachineName" 

但是这并不像我在“来自特定系统的所有状态消息”中看到的那样给出描述。 (见屏幕截图)。

有谁知道我是如何得到状态消息的描述?

问候 faebuk

回答

1

刚刚从东西剪断这个我是用测试...可能会得到你在正确的方向指向..

SELECT b.Component, b.MachineName, b.MessageType, b.MessageID, 
     c.insstrvalue, 
     d.attributevalue, d.attributeTime 
FROM SMS_StatusMessage b 
    JOIN SMS_StatMsgInsStrings c ON b.RecordID = c.RecordID 
    JOIN SMS_StatMsgAttributes d ON c.RecordID = d.RecordID 
WHERE b.Component = "Task Sequence Manager" 
    AND d.AttributeID = 401 
    AND b.MachineName = "MyMachineName" 
    AND b.MessageID = 11171      
    AND d.AttributeValue = "DeploymentID" 

归根结底,这是从SDK。

+0

与特定消息ID相关联的(翻译)格式的字符串不是在SMS_StatusMessage,SMS_StatMsgInsStrings,或SMS_StatMsgAttributes。这些只包含消息的有用数据(例如AdvertisementID's等)。格式字符串是通过WQL查询以外的其他方式获得的。有关获取格式字符串的一些线索,请参阅[SMS状态消息 - ASP以显示所有消息标识及其含义](http://myitforum.com/cs2/blogs/jnelson/archive/2008/05/21/117428.aspx) 。 – mojo 2014-11-07 12:58:46

+0

FWIW,翻译的消息似乎在SCCM控制台安装目录中的DLL中。对于2012/US-English,它是' \ AdminUI \ bin \ i386 \ 00000409 \ srvmsgs.dll'。我认为2007年的控制台将它们保存在类似的位置,“AdminConsole \ bin \ ... \ srvmsgs.dll”。 – mojo 2014-11-07 18:09:27

0

只看我的SO配置文件,看到这个线程我以前回复..我最近需要做同样的事情,并博客它!

SELECT 
CASE [Severity] 
    WHEN '1073741824' THEN 'Informational' 
    WHEN '-1073741824' THEN 'Error' 
    WHEN '-2147483648' THEN 'Warning' 
END AS Severity 
    ,[SiteCode] 
    ,[Time] 
    ,[MachineName] 
    ,[Component] 
    ,[MessageID], 
CASE [MessageID] 
    WHEN '11124' THEN ('The task sequence execution engine started the group (' + [InsStrValue3] + ').') 
    WHEN '11127' THEN ('The task sequence execution engine successfully completed the group (' + [InsStrValue3] + ').') 
    WHEN '11128' THEN ('The task sequence execution engine skipped the disabled action (' + [InsStrValue2] + ') in the group (' + [InsStrValue3] + ').') 
    WHEN '11130' THEN ('The task sequence execution engine skipped the action (' + [InsStrValue2] + ') in the group (' + [InsStrValue3] + ').') 
    WHEN '11134' THEN ('The task sequence execution engine successfully completed the action (' + [InsStrValue2] + ') in the group (' + [InsStrValue3] + ') with exit code ' + [InsStrValue4] + ' Action output: ' + (COALESCE([InsStrValue5], '') + '' + COALESCE([InsStrValue6], '') + '' + COALESCE([InsStrValue7],'')+ COALESCE([InsStrValue8],'')+ COALESCE([InsStrValue9],'')+ COALESCE([InsStrValue10],''))) 
    WHEN '11135' THEN ('The task sequence execution engine failed execuiting the action (' + [InsStrValue2] + ') in the group (' + [InsStrValue3] + ') with exit code ' + [InsStrValue4] + ' Action output: ' + (COALESCE([InsStrValue5], '') + '' + COALESCE([InsStrValue6], '') + '' + COALESCE([InsStrValue7],'')+ COALESCE([InsStrValue8],'')+ COALESCE([InsStrValue9],'')+ COALESCE([InsStrValue10],''))) 
    WHEN '11138' THEN ('The task sequence execution engine ignored execution failure of the action (' + [InsStrValue2] + ') in the group (' + [InsStrValue3] + ').') 
    WHEN '11140' THEN ('The task sequence execution engine started execution of a task sequence.') 
    WHEN '11142' THEN ('The task sequence execution engine performed a system reboot initiated by the action (' + [InsStrValue2] + ') in the group (' + [InsStrValue3] + ').') 
    WHEN '11144' THEN ('The task sequence execution engine from a non-client started execution of a task sequence.') 
END AS Description 
FROM [CM_SiteCode].[dbo].[vStatusMessagesWithStrings] (NOLOCK) 
WHERE MachineName = 'MyServerNameHere' 
AND Component in ('Task Sequence Engine','Task Sequence Manager','Task Sequence Action') 
AND Time BETWEEN '2015-04-02 08:30' AND GETDATE() 
ORDER BY Time DESC 

在这里看到http://blog.wallis2000.co.uk/2015/04/status-messages-from-sccm-task.html