Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
W Configuration Manager skonfigurujesz ustawienia odnajdywania użytkowników usługi Active Directory, modyfikując wymagane ustawienia pliku kontroli lokacji.
Aby skonfigurować odnajdywanie użytkowników usługi Active Directory
Skonfiguruj połączenie z dostawcą programu SMS.
Nawiązywanie połączenia z sekcją Odnajdywanie użytkowników usługi Active Directory w pliku kontroli lokacji
SMS_SCI_Component
przy użyciu klasy .Przeprowadź pętlę przez tablicę dostępnych właściwości, wprowadzając zmiany zgodnie z potrzebami.
Zatwierdź zmiany w pliku kontroli lokacji.
Przykład
W poniższym przykładzie ustawienia odnajdywania użytkowników usługi Active Directory są ustawiane przy użyciu SMS_SCI_Component
klasy w celu nawiązania połączenia z plikiem kontroli lokacji i zmiany właściwości.
Aby uzyskać informacje na temat wywoływania przykładowego kodu, zobacz Wywoływanie fragmentów kodu Configuration Manager.
Sub ConfigureADUserDiscoverySettings(swbemServices, _
swbemContext, _
siteCode, _
serverName, _
newStartupSchedule, _
enableDisableDiscovery)
' Load site control file and get the SMS_AD_USER_DISCOVERY_AGENT section.
swbemServices.ExecMethod "SMS_SiteControlFile.Filetype=1,Sitecode=""" & siteCode & """", "Refresh", , , swbemContext
Query = "SELECT * FROM SMS_SCI_Component " & _
"WHERE ItemName = 'SMS_AD_USER_DISCOVERY_AGENT|" & serverName & "' " & _
"AND SiteCode = '" & siteCode & "'"
' Get the SMS_AD_USER_DISCOVERY_AGENT properties.
Set SCIComponentSet = swbemServices.ExecQuery(Query, ,wbemFlagForwardOnly Or wbemFlagReturnImmediately, swbemContext)
' Only one instance is returned from the query.
For Each SCIComponent In SCIComponentSet
' Display the server name.
wscript.echo "Server: " & SCIComponent.Name
' Loop through the array of embedded SMS_EmbeddedProperty instances.
For Each vProperty In SCIComponent.Props
' Setting: Startup Schedule
If vProperty.PropertyName = "Startup Schedule" Then
wscript.echo " "
wscript.echo vProperty.PropertyName
wscript.echo "Current value " & vProperty.Value1
' Modify the value.
vProperty.Value1 = newStartupSchedule
wscript.echo "New value " & newStartupSchedule
End If
' Setting: SETTINGS
If vProperty.PropertyName = "SETTINGS" Then
wscript.echo " "
wscript.echo vProperty.PropertyName
wscript.echo "Current value " & vProperty.Value1
' Modify the value.
vProperty.Value1 = enableDisableDiscovery
wscript.echo "New value " & enableDisableDiscovery
End If
Next
' Update the component in your copy of the site control file. Get the path
' to the updated object, which could be used later to retrieve the instance.
Set SCICompPath = SCIComponent.Put_(wbemChangeFlagUpdateOnly, swbemContext)
Next
' Commit the change to the actual site control file.
Set InParams = swbemServices.Get("SMS_SiteControlFile").Methods_("CommitSCF").InParameters.SpawnInstance_
InParams.SiteCode = siteCode
swbemServices.ExecMethod "SMS_SiteControlFile", "CommitSCF", InParams, , swbemContext
End Sub
public void ConfigureADUserDiscoverySettings(WqlConnectionManager connection,
string siteCode,
string serverName,
string newStartupSchedule,
string enableDisableDiscovery)
{
try
{
// Connect to SMS_AD_USER_DISCOVERY_AGENT section of the site control file.
IResultObject siteDefinition = connection.GetInstance(@"SMS_SCI_Component.FileType=2,ItemType='Component',SiteCode='" + siteCode + "',ItemName='SMS_AD_USER_DISCOVERY_AGENT|" + serverName + "'");
// Create temporary copy of the embedded properties.
Dictionary<string, IResultObject> embeddedProperties = siteDefinition.EmbeddedProperties;
// Enumerate through the embedded properties and makes changes as needed.
foreach (KeyValuePair<string, IResultObject> kvp in siteDefinition.EmbeddedProperties)
{
// Setting: Startup Schedule
if (kvp.Value.PropertyList["PropertyName"] == "Startup Schedule")
{
Console.WriteLine();
Console.WriteLine(kvp.Value.PropertyList["PropertyName"]);
Console.WriteLine("Current value: " + kvp.Value.PropertyList["Value1"]);
// Change value using the newStartupSchedule value passed in.
embeddedProperties["Startup Schedule"]["Value1"].StringValue = newStartupSchedule;
Console.WriteLine("New value : " + newStartupSchedule);
}
// Setting: SETTINGS
if (kvp.Value.PropertyList["PropertyName"] == "SETTINGS")
{
Console.WriteLine();
Console.WriteLine(kvp.Value.PropertyList["PropertyName"]);
Console.WriteLine("Current value: " + kvp.Value.PropertyList["Value1"]);
// Change value using the enableDisableDiscovery value passed in.
embeddedProperties["SETTINGS"]["Value1"].StringValue = enableDisableDiscovery;
Console.WriteLine("New value : " + enableDisableDiscovery);
}
}
// Store the settings that have changed.
siteDefinition.EmbeddedProperties = embeddedProperties;
// Save the settings.
siteDefinition.Put();
}
catch (SmsException ex)
{
Console.WriteLine("Failed. Error: " + ex.InnerException.Message);
throw;
}
}
Przykładowa metoda ma następujące parametry:
Parametr | Wpisać | Opis |
---|---|---|
- connection - swbemServices |
-Zarządzane: WqlConnectionManager - VBScript: SWbemServices |
Prawidłowe połączenie z dostawcą programu SMS. |
swbemContext |
-Vbscript: SWbemContext |
Prawidłowy obiekt kontekstu. Aby uzyskać więcej informacji, zobacz How to Add a Configuration Manager Context Qualifier by Using WMI (Jak dodać kwalifikator kontekstu Configuration Manager przy użyciu usługi WMI). |
siteCode |
-Zarządzane: String -Vbscript: String |
Kod witryny. |
serverName |
-Zarządzane: String -Vbscript: String |
Nazwa serwera. |
newStartupSchedule |
-Zarządzane: String -Vbscript: String |
Nowy harmonogram. |
enableDisableDiscovery |
-Zarządzane: String -Vbscript: String |
Wartość umożliwiająca włączenie lub wyłączenie metody odnajdywania. Wyłączone — NIEAKTYWNE Włączone — ACTIVE |
Kompilowanie kodu
Ten przykład języka C# wymaga:
Obszary nazw
System
System.collections.generic
System.text
Microsoft.ConfigurationManagement.ManagementProvider
Microsoft.ConfigurationManagement.ManagementProvider.WqlQueryEngine
Zestawu
adminui.wqlqueryengine
microsoft.configurationmanagement.managementprovider
Niezawodne programowanie
Aby uzyskać więcej informacji na temat obsługi błędów, zobacz Informacje o błędach Configuration Manager.
zabezpieczenia .NET Framework
Aby uzyskać więcej informacji na temat zabezpieczania aplikacji Configuration Manager, zobacz Configuration Manager administracja oparta na rolach.
Zobacz też
Informacje o pliku kontrolki lokacji Configuration Manager
Jak odczytywać i zapisywać w pliku kontroli lokacji Configuration Manager przy użyciu kodu zarządzanego
Jak odczytywać i zapisywać w pliku kontroli lokacji Configuration Manager przy użyciu usługi WMI
SMS_SCI_Component Server WMI Class
Informacje o harmonogramachJak Twórca token harmonogramu