Come connettersi a un provider SMS in Configuration Manager tramite codice gestito
Per connettersi a un provider SMS, usare WqlConnectionManager.Connect. Dopo la connessione, WqlConnectionManager.Connect dispone di metodi per eseguire query, creare, eliminare e in altro modo usare Configuration Manager oggetti WMI (Windows Management Instrumentation).
Nota
WqlConnectionManager.Connect è una derivazione di ConnectionManagerBase specifica di WMI.
Se ci si connette a un provider SMS locale, non si forniscono le credenziali utente. Se ci si connette a un provider SMS remoto, non è necessario specificare le credenziali utente se il contesto utente/computer corrente dispone delle autorizzazioni per il provider SMS remoto.
Se non si dispone di privilegi di accesso nel provider SMS remoto o se si vuole usare un account utente diverso, è necessario specificare le credenziali utente per un account utente con privilegi di accesso.
WQLConnectionManager.Connection richiede un oggetto SmsNamedValuesDictionary . Può essere usato per archiviare informazioni memorizzate nella cache, ad esempio il nome del computer.
Viene prepopolato con molti valori che possono essere usati nell'applicazione.
Valore | Descrizione. |
---|---|
ProviderLocation | Percorso del provider. Ad esempio, \\<ComputerName>\ROOT\sms:SMS_ProviderLocation.SiteCode="XXX". |
ProviderMachineName | Computer del provider. Ad esempio, \\ComputerName. |
Connessione | Percorso di connessione. Ad esempio, \\NomeComputer\root\sms\site_XXX. |
ConnectedSiteCode | Codice del sito per il sito Configuration Manager a cui è connessa la connessione. Ad esempio, XXX. |
NomeServer | Nome del computer, ad esempio COMPUTERNAME. |
Sitename | Codice del sito Configuration Manager. Ad esempio, Sito centrale. |
ConnectedServerVersion | Versione per il server connesso. Ad esempio, 4.00.5830.0000 |
Buildnumber | Numero di build di installazione Configuration Manager. Ad esempio, 5830. |
Nota
L'oggetto SmsNamedValuesDictionary non è le informazioni sul qualificatore di contesto passate al provider. Per altre informazioni, vedere Come aggiungere un qualificatore di contesto Configuration Manager usando codice gestito.
Per connettersi al provider SMS
Creare un oggetto SmsNamedValuesDictionaryObject.
Creare un'istanza della classe WqlConnectionManager e chiamare il metodo [Connect] passando il nome del server e, se il nome del server è remoto, il nome utente e la password.
Utilizzare l'oggetto WqlConnectionManager per connettersi al provider.
Esempio
Il metodo di esempio seguente si connette al provider SMS in un computer locale o remoto. Se servername
è remoto, il metodo usa il nome utente e la password specificati per connettersi al computer remoto. Se si vuole usare il contesto utente corrente, per la connessione remota modificare il codice in modo che non passi il nome utente e la password. Se la connessione ha esito positivo, viene restituito un oggetto WqlConnectionManager .
Per informazioni sulla chiamata del codice di esempio, vedere Chiamata di frammenti di codice Configuration Manager.
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;
}
}
Compilazione del codice
Namespaces
Sistema
System.collections.generic
System.ComponentModel
Microsoft.ConfigurationManagement.ManagementProvider
Microsoft.ConfigurationManagement.ManagementProvider.WqlQueryEngine
Microsoft.ManagementConsole
Assembly
microsoft.configurationmanagement.managementprovider
adminui.wqlqueryengine
Microsoft.ManagementConsole
Programmazione efficiente
Le eccezioni Configuration Manager che possono essere generate sono SmsConnectionException e SmsQueryException. Questi possono essere intercettati insieme a SmsException.
Sicurezza di .NET Framework
UnauthorizedAccessException viene generato quando vengono passate le credenziali errate a WqlConnectionManager.Connect.
Vedere anche
Nozioni fondamentali sul provider SMSCome aggiungere un qualificatore di contesto Configuration Manager usando codice gestito
Panoramica sugli oggetti