Ansluta till en SMS-provider i Configuration Manager med hjälp av hanterad kod
Om du vill ansluta till en SMS-provider använder du WqlConnectionManager.Connect. När den är ansluten har WqlConnectionManager.Connect metoder för att fråga, skapa, ta bort och på annat sätt använda Configuration Manager WMI-objekt (Windows Management Instrumentation).
Obs!
WqlConnectionManager.Connect är en WMI-specifik härledning av ConnectionManagerBase.
Om du ansluter till en lokal SMS-provider anger du inte användarautentiseringsuppgifter. Om du ansluter till en fjärransluten SMS-provider behöver du inte ange användarautentiseringsuppgifter om den aktuella användar-/datorkontexten har behörigheter för sms-fjärrprovidern.
Om du inte har åtkomstbehörighet för den fjärranslutna SMS-providern, eller om du vill använda ett annat användarkonto, måste du ange autentiseringsuppgifter för ett användarkonto som har åtkomstbehörighet.
WQLConnectionManager.Connection kräver ett SmsNamedValuesDictionary-objekt . Detta kan användas för att lagra cachelagrad information, till exempel datornamnet.
Den är förifylld med många värden som kan användas i ditt program.
Värde | Beskrivning. |
---|---|
ProviderLocation | Providerplatsen. Ett exempel: \\<ComputerName>\ROOT\sms:SMS_ProviderLocation.SiteCode="XXX". |
ProviderMachineName | Providerdatorn. Till exempel \\ComputerName. |
Anslutning | Anslutningssökvägen. Till exempel \\ComputerName\root\sms\site_XXX. |
ConnectedSiteCode | Platskoden för den Configuration Manager plats som anslutningen är ansluten till. Till exempel XXX. |
Servernamn | Datornamnet, till exempel COMPUTERNAME. |
Platsnamn | Configuration Manager platskod. Till exempel Central webbplats. |
ConnectedServerVersion | Versionen för den anslutna servern. Till exempel 4.00.5830.0000 |
BuildNumber | Versionsnumret för Configuration Manager installation. Till exempel 5830. |
Obs!
SmsNamedValuesDictionary-objektet är inte den kontextkvalificerarinformation som skickas till providern. Mer information finns i How to Add a Configuration Manager Context Qualifier by Using Managed Code (Lägga till en Configuration Manager kontextkvalificerare med hjälp av hanterad kod).
Ansluta till SMS-providern
Skapa ett SmsNamedValuesDictionaryObject.
Skapa en instans av klassen WqlConnectionManager och anropa metoden [Connect] som skickar servernamnet, och om servernamnet är fjärranslutet, användarnamnet och lösenordet.
Använd WqlConnectionManager-objektet för att ansluta till providern.
Exempel
Följande exempelmetod ansluter till SMS-providern på en lokal dator eller fjärrdator. Om servername
är fjärransluten använder metoden det angivna användarnamnet och lösenordet för att ansluta till fjärrdatorn. Om du vill använda den aktuella användarkontexten ändrar du koden för fjärranslutningen så att den inte skickar användarnamnet och lösenordet. Om anslutningen lyckas returneras ett WqlConnectionManager-objekt .
Information om hur du anropar exempelkoden finns i Anropa Configuration Manager kodfragment.
public WqlConnectionManager Connect(string serverName, string userName, string userPassword)
{
try
{
SmsNamedValuesDictionary namedValues = new SmsNamedValuesDictionary();
WqlConnectionManager connection = new WqlConnectionManager(namedValues);
if (System.Net.Dns.GetHostName().ToUpper() == serverName.ToUpper())
{
// Connect to local computer.
connection.Connect(serverName);
}
else
{
// Connect to remote computer.
connection.Connect(serverName, userName, userPassword);
}
return connection;
}
catch (SmsException e)
{
Console.WriteLine("Failed to Connect. Error: " + e.Message);
return null;
}
catch (UnauthorizedAccessException e)
{
Console.WriteLine("Failed to authenticate. Error:" + e.Message);
return null;
}
}
Kompilera koden
Namnområden
System
System.Collections.Generic
System.ComponentModel
Microsoft.ConfigurationManagement.ManagementProvider
Microsoft.ConfigurationManagement.ManagementProvider.WqlQueryEngine
Microsoft.ManagementConsole
Församlingen
microsoft.configurationmanagement.managementprovider
adminui.wqlqueryengine
Microsoft.ManagementConsole
Robust programmering
De Configuration Manager undantag som kan aktiveras är SmsConnectionException och SmsQueryException. Dessa kan fångas tillsammans med SmsException.
.NET Framework Säkerhet
UnauthorizedAccessException aktiveras när fel autentiseringsuppgifter skickas till WqlConnectionManager.Connect.
Se även
Grunderna i SMS-providernSå här lägger du till en Configuration Manager kontextkvalificerare med hjälp av hanterad kod
Översikt över objekt