Hallo zusammen,
ich würde gern die Ausgabe einer WQL-Query gegen einen SCCM-Server formatieren.
Das Ganze wird durch einen Button in Windows Forms ausgelöst. Das Resultat ist richtig, nur wird in der Ausgabe "zuviel" angezeigt.
Der Code sieht wie folgt aus:
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 = "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");
string MaschineResult = queryResult.ToString().Replace("instance of SMS_R_System{Name = ", "")
.Replace(";};", "").Trim('"');
PCDropDown.Items.Add(MaschineResult);
}
if (resultsFound == false)
{
lBox.Items.Add("Rechnername nicht gefunden");
}
}
catch
{
MessageBox.Show("No Connection to Config-Manager - Als ZZA ausgeführt? SCCM-Servername richtig?");
}
}
Die Ausgabe ist dann zum Beispiel wie Folgt:
instance of SMS_R_System{ Name = "SCCM01";};
Wir hätten gern nur das SCCM01 in der Ausgabe.
Danke für einen Tipp im Voraus.
Gruß,
Christoph