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 pulsu, modyfikując wymagane ustawienia pliku kontroli lokacji.
Aby skonfigurować odnajdywanie pulsu
Skonfiguruj połączenie z dostawcą programu SMS.
Nawiązywanie połączenia z sekcją Odnajdywanie pulsu 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 pulsu SMS_SCI_Component
są ustawiane przy użyciu 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 ConfigureHeartbeatDiscoverySettings1(swbemServices, _
swbemContext, _
siteCode, _
serverName, _
newHeartbeatSiteControlFileSchedule)
' Load site control file and get the SMS_SITE_CONTROL_MANAGER section.
swbemServices.ExecMethod "SMS_SiteControlFile.Filetype=1,Sitecode=""" & siteCode & """", "Refresh", , , swbemContext
Query = "SELECT * FROM SMS_SCI_Component " & _
"WHERE ItemName = 'SMS_SITE_CONTROL_MANAGER|" & serverName & "' " & _
"AND SiteCode = '" & siteCode & "'"
' Get the SMS Software Update Point 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: Heartbeat Site Control File Schedule.
If vProperty.PropertyName = "Heartbeat Site Control File Schedule" Then
wscript.echo " "
wscript.echo vProperty.PropertyName
wscript.echo "Current value " & vProperty.Value1
'Modify the value.
vProperty.Value1 = newHeartbeatSiteControlFileSchedule
wscript.echo "New value " & newHeartbeatSiteControlFileSchedule
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
' SEPARATE EXAMPLE TO ENABLE HEARTBEAT DISCOVERY ON THE CLIENT
Sub ConfigureHeartbeatDiscoverySettings2(swbemServices, _
swbemContext, _
siteCode, _
enableDisableHeartbeatDDR)
' Load site control file and get the SMS_SCI_ClientConfig section.
swbemServices.ExecMethod "SMS_SiteControlFile.Filetype=1,Sitecode=""" & siteCode & """", "Refresh", , , swbemContext
Query = "SELECT * FROM SMS_SCI_ClientConfig " & _
"WHERE ItemName = 'Client Properties'" & _
"AND SiteCode = '" & siteCode & "'"
Set SCIComponentSet = swbemServices.ExecQuery(Query, ,wbemFlagForwardOnly Or wbemFlagReturnImmediately, swbemContext)
' Only one instance is returned from the query.
For Each SCIComponent In SCIComponentSet
'Loop through the array of embedded SMS_EmbeddedProperty instances.
For Each vProperty In SCIComponent.Props
' Setting: Enable Heartbeat DDR
If vProperty.PropertyName = "Enable Heartbeat DDR" Then
wscript.echo " "
wscript.echo vProperty.PropertyName
wscript.echo "Current value " & vProperty.Value
'Modify the value.
vProperty.Value = enableDisableHeartbeatDDR
wscript.echo "New value " & enableDisableHeartbeatDDR
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 ConfigureHeartbeatDiscoverySettings(WqlConnectionManager connection,
string siteCode,
string serverName,
string newHeartbeatSiteControlFileSchedule,
string newEnableDisableHeartbeatDDR)
{
try
{
// Change the Heartbeat Site Control File Schedule value.
// Connect to SMS_SITE_CONTROL_MANAGER section of the site control file.
IResultObject siteDefinition = connection.GetInstance(@"SMS_SCI_Component.FileType=2,ItemType='Component',SiteCode='" + siteCode + "',ItemName='SMS_SITE_CONTROL_MANAGER|" + serverName + "'");
// Temporary copy of the embedded properties.
Dictionary<string, IResultObject> embeddedProperties = siteDefinition.EmbeddedProperties;
foreach (KeyValuePair<string, IResultObject> kvp in siteDefinition.EmbeddedProperties)
{
// Property: Heartbeat Site Control File Schedule
if (kvp.Value.PropertyList["PropertyName"] == "Heartbeat Site Control File Schedule")
{
Console.WriteLine();
Console.WriteLine(kvp.Value.PropertyList["PropertyName"]);
Console.WriteLine("Current value: " + embeddedProperties["Heartbeat Site Control File Schedule"]["Value1"].StringValue);
embeddedProperties["Heartbeat Site Control File Schedule"]["Value1"].StringValue = newHeartbeatSiteControlFileSchedule;
Console.WriteLine("New value : " + newHeartbeatSiteControlFileSchedule);
}
}
// Store the settings that have changed.
siteDefinition.EmbeddedProperties = embeddedProperties;
// Save the settings.
siteDefinition.Put();
}
catch (SmsException ex)
{
Console.WriteLine();
Console.WriteLine("Failed. Error: " + ex.InnerException.Message);
}
try
{
// Change the Enable Heartbeat DDR value.
// Connect to SMS_SCI_ClientConfig section of the site control file.
IResultObject siteDefinition = connection.GetInstance(@"SMS_SCI_ClientConfig.FileType=2,ItemType='Client Configuration',SiteCode='" + siteCode + "',ItemName='Client Properties'");
// Create temporary working copy of embedded properties.
Dictionary<string, IResultObject> embeddedProperties = siteDefinition.EmbeddedProperties;
foreach (KeyValuePair<string, IResultObject> kvp in siteDefinition.EmbeddedProperties)
{
// Setting: Enable Heartbeat DDR
if (kvp.Value.PropertyList["PropertyName"] == "Enable Heartbeat DDR")
{
Console.WriteLine();
Console.WriteLine(kvp.Value.PropertyList["PropertyName"]);
Console.WriteLine("Current value: " + kvp.Value.PropertyList["Value"]);
// Change value using the newEnableDisableHeartbeatDDR value passed in.
embeddedProperties["Enable Heartbeat DDR"]["Value"].StringValue = newEnableDisableHeartbeatDDR;
Console.WriteLine("New value : " + newEnableDisableHeartbeatDDR);
}
}
// 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. |
newHeartbeatSiteControlFileSchedule |
-Zarządzane: String -Vbscript: String |
Harmonogram określający, jak często klient będzie generował rekordy odnajdywania danych pulsu (DDR). |
- newEnableDisableHeartbeatDDR - enableDisableHeartbeatDDR |
-Zarządzane: String -Vbscript: String |
Wartość umożliwiająca włączenie lub wyłączenie pulsu DDR. Wyłączone — 0 Włączone — 1 |
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