【发布时间】:2017-11-08 17:14:34
【问题描述】:
我正在尝试构建一个查询,以列出 SCCM 中具有特定名称的所有已知计算机。 查询如下所示:
string query = string.Format("Select Name From SMS_R_System Where Name like '" + "%" + computerName + "%" + "'");
如果找到结果,它会将结果放入下拉框中。
在这种情况下我的问题,输出如下所示:
"SMS_R_System 实例{Name = "DC01";};"
当然,对于我们的用例,我们只需要DC01 作为输出。
有什么建议吗?
ButtonEvent 的完整代码:
private void ChkBtn_Click(object sender, EventArgs e)
{
string computerName = PCDropDown.Text;
lBox.Items.Clear();
SmsNamedValuesDictionary namedValues = new SmsNamedValuesDictionary();
WqlConnectionManager connection = new WqlConnectionManager(namedValues);
// Connect to remote computer.
try
{
connection.Connect(PrimarySiteServer.ToString());
// Set the query.
string query1 = string.Format("Select Name From SMS_R_System Where Name like '" + "%" + computerName + "%" + "'");
string query2 = string.Format("Select * From SMS_UserMachineRelationship WHERE ResourceName like '" + "%" + computerName + "%" + "' AND IsActive = '1' AND Types = '1'");
// Get the query results
IResultObject queryResults = connection.QueryProcessor.ExecuteQuery(query1);
// Check for results and display in infobox
bool resultsFound = false;
foreach (IResultObject queryResult in queryResults)
{
resultsFound = true;
lBox.Items.Add("Rechner ist vorhanden");
PCDropDown.Items.Add(queryResult.ToString());
}
if (resultsFound == false)
{
lBox.Items.Add("Rechnername nicht gefunden");
}
}
catch
{
MessageBox.Show("No Connection to Config-Manager - Als ZZA ausgeführt? SCCM-Servername richtig?");
}
}
【问题讨论】:
-
你是如何执行查询的?发布完整代码
-
嘿 Nico,我写了一个新答案,因为代码太长了。谢谢
标签: c# visual-studio sccm wql