Comment se connecter à un fournisseur SMS dans Configuration Manager à l’aide de code managé
Pour vous connecter à un fournisseur SMS, utilisez WqlConnectionManager.Connect. Une fois connecté, WqlConnectionManager.Connect dispose de méthodes permettant d’interroger, de créer, de supprimer et d’utiliser Configuration Manager objets WMI (Windows Management Instrumentation).
Remarque
WqlConnectionManager.Connect est une dérivation propre à WMI de ConnectionManagerBase.
Si vous vous connectez à un fournisseur SMS local, vous ne fournissez pas d’informations d’identification utilisateur. Si vous vous connectez à un fournisseur SMS distant, vous n’avez pas besoin de fournir les informations d’identification de l’utilisateur si le contexte utilisateur/ordinateur actuel dispose d’autorisations sur le fournisseur SMS distant.
Si vous n’avez pas de privilèges d’accès sur le fournisseur SMS distant, ou si vous souhaitez utiliser un autre compte d’utilisateur, vous devez fournir les informations d’identification de l’utilisateur pour un compte d’utilisateur disposant de privilèges d’accès.
WQLConnectionManager.Connection nécessite un objet SmsNamedValuesDictionary . Cela peut être utilisé pour stocker des informations mises en cache telles que le nom de l’ordinateur.
Elle est préremplie avec un certain nombre de valeurs qui peuvent être utilisées dans votre application.
Valeur | Description. |
---|---|
ProviderLocation | Emplacement du fournisseur. Par exemple : \\<ComputerName>\ROOT\sms:SMS_ProviderLocation.SiteCode="XXX ». |
ProviderMachineName | L’ordinateur du fournisseur. Par exemple, \\ComputerName. |
Connection | Chemin de connexion. Par exemple, \\ComputerName\root\sms\site_XXX. |
ConnectedSiteCode | Code de site du Configuration Manager site auquel la connexion est connectée. Par exemple, XXX. |
ServerName | Nom de l’ordinateur, par exemple COMPUTERNAME. |
Sitename | Code de site Configuration Manager. Par exemple, site central. |
ConnectedServerVersion | Version du serveur connecté. Par exemple, 4.00.5830.0000 |
BuildNumber | Numéro de build de l’installation Configuration Manager. Par exemple, 5830. |
Remarque
L’objet SmsNamedValuesDictionary n’est pas les informations de qualificateur de contexte transmises au fournisseur. Pour plus d’informations, consultez Ajout d’un qualificateur de contexte Configuration Manager à l’aide de code managé.
Pour se connecter au fournisseur SMS
Créez un SmsNamedValuesDictionaryObject.
Créez une instance de la classe WqlConnectionManager et appelez la méthode [Connect] en passant le nom du serveur et, si le nom du serveur est distant, le nom d’utilisateur et le mot de passe.
Utilisez l’objet WqlConnectionManager pour vous connecter au fournisseur.
Exemple
L’exemple de méthode suivant se connecte au fournisseur SMS sur un ordinateur local ou distant. Si servername
est distant, la méthode utilise le nom d’utilisateur et le mot de passe fournis pour se connecter à l’ordinateur distant. Si vous souhaitez utiliser le contexte utilisateur actuel, pour la connexion à distance, modifiez le code afin qu’il ne passe pas le nom d’utilisateur et le mot de passe. Si la connexion réussit, un objet WqlConnectionManager est retourné.
Pour plus d’informations sur l’appel de l’exemple de code, consultez Appel d’extraits de code 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;
}
}
Compilation du code
Espaces de noms
Système
System.Collections.Generic
System.ComponentModel
Microsoft. ConfigurationManagement.ManagementProvider
Microsoft. ConfigurationManagement.ManagementProvider.WqlQueryEngine
Microsoft. ManagementConsole
Assembly
microsoft.configurationmanagement.managementprovider
adminui.wqlqueryengine
Microsoft. ManagementConsole
Programmation robuste
Les exceptions Configuration Manager qui peuvent être levées sont SmsConnectionException et SmsQueryException. Ceux-ci peuvent être regroupés avec SmsException.
Sécurité de .NET Framework
UnauthorizedAccessException est déclenché lorsque les informations d’identification incorrectes sont passées à WqlConnectionManager.Connect.
Voir aussi
Principes de base du fournisseur SMSComment ajouter un qualificateur de contexte Configuration Manager à l’aide de code managé
Vue d’ensemble des objets