Freigeben über


Erstellen eines Datenermittlungsdatensatzes

Der Datenermittlungsdatensatz (DATA Discovery Record, DDR) in Configuration Manager gibt den Ressourcentyp, den Ermittlungsprozess, den Standort, an dem die Ressource ermittelt wurde, und die Ressourceneigenschaften an. Configuration Manager stellt sechs Bibliotheksfunktionen bereit, die Sie zum Erstellen ihrer eigenen DDRs verwenden. Weitere Informationen. Siehe Informationen zum Erstellen eines Datenermittlungsdatensatzes.

So erstellen Sie einen Datenermittlungsdatensatz

  1. Erstellen Sie eine neue Instanz der SMSResGen -Klasse.

  2. Erstellen Sie mithilfe der NewDDR -Methode einen neuen DDR-Computer.

  3. Fügen Sie dem DDR-Computer Mithilfe der ADDPROP_ -Methoden Eigenschaften hinzu.

  4. Schreiben Sie den neuen DDR-Code mithilfe der DDRWrite -Methode in eine Datei.

Beispiel

Im folgenden Beispiel wird eine DDR erstellt.


Sub CreateNewDDR()

    ' Define constants.
    Const ADDPROP_NONE  = &H0
    Const ADDPROP_GUID  = &H2
    Const ADDPROP_KEY   = &H8
    Const ADDPROP_ARRAY = &H10

    ' Define variables.
    Dim newDDR
    Dim siteCode
    Dim computerName
    Dim siteName
    Dim newIPAddress(2), newIPSubnet(2), newMACAddress(2)

    ' Load variables with values.
    siteCode = "ABC"
    computerName="ComputerName"
    siteName="Active Directory Site Name"
    newIPAddress(0)="123.234.12.23"
    newIPAddress(1)="123.234.12.32"
    newIPSubnet(0)="123.234.12.0"
    newIPSubnet(1)="123.234.12.0"
    newMACAddress(0)="00:02:A5:B1:11:68"
    newMACAddress(1)="00:02:A5:B1:11:69"

    ' Load an instance of the SMSResGen.dll.
    Set newDDR=CreateObject("SMSResGen.SMSResGen.1")

    ' Create a new DDR using the DDRNew method.
    newDDR.DDRNew "System", "CustomAgent", siteCode

    ' Add properties to the new DDR using the DDRAddString method and the previously defined variables.
    newDDR.DDRAddString "NetBIOS Name", computerName, 64, ADDPROP_KEY
    newDDR.DDRAddString "AD Site Name", siteName, 64, ADDPROP_NONE

    ' Add properties to the new DDR using the DDRAddStringArray method and the previously defined variables.
    newDDR.DDRAddStringArray "IP Addresses", Array(newIPAddress(0),newIPAddress(1)), 64, ADDPROP_ARRAY
    newDDR.DDRAddStringArray "MAC Addresses", Array(newMACAddress(0),newMACAddress(1)), 64, ADDPROP_ARRAY OR ADDPROP_KEY
    newDDR.DDRAddStringArray "IP Subnets", Array(newIPSubnet(0),newIPSubnet(1)), 64, ADDPROP_ARRAY

    ' Write new DDR to file.
    newDDR.DDRWrite "NewDDR.DDR"
    wscript.echo "Created new DDR."

End Sub


public void CreateNewDDR()
{
    try
    {
        // Define and set the required variables.
        string Computer = "ComputerName";
        string SiteName = "Active Directory Site Name";
        string[] IPAddress  = new string[] { "123.234.12.23", "123.234.12.32" };
        string[] IPSubnet   = new string[] { "123.234.12.0", "123.234.12.0" };
        string[] MACAddress = new string[] { "00:02:A5:B1:11:68", "00:02:A5:B1:11:68" };
        string siteCode = "TQ1";

        // Create the SMSResGenClass instance.
        SMSRSGENCTLLib.SMSResGen newDDR = new SMSRSGENCTLLib.SMSResGen();

        // Create a new DDR using the DDRNew method.
        newDDR.DDRNew("System", "CustomAgent", siteCode);

        // Add properties to the new DDR using the DDRAddString method and the previously defined variables.
        newDDR.DDRAddString("NetBIOS Name", Computer, 64, SMSRSGENCTLLib.DDRPropertyFlagsEnum.ADDPROP_KEY);
        newDDR.DDRAddString("AD Site Name", SiteName, 64, SMSRSGENCTLLib.DDRPropertyFlagsEnum.ADDPROP_NONE);

        // Add properties to the new DDR using the DDRAddStringArray method and the previously defined variables.
        newDDR.DDRAddStringArray("IP Subnets", IPAddress, 64, SMSRSGENCTLLib.DDRPropertyFlagsEnum.ADDPROP_ARRAY);
        newDDR.DDRAddStringArray("MAC Addresses", MACAddress, 64, SMSRSGENCTLLib.DDRPropertyFlagsEnum.ADDPROP_ARRAY | SMSRSGENCTLLib.DDRPropertyFlagsEnum.ADDPROP_KEY);
        newDDR.DDRAddStringArray("IP Subnets", IPSubnet, 64, SMSRSGENCTLLib.DDRPropertyFlagsEnum.ADDPROP_ARRAY);

        // Write new DDR to file.
        newDDR.DDRWrite("NewDDR.DDR");
        Console.WriteLine("Created new DDR.");
    }
    catch (SmsException ex)
    {
        Console.WriteLine("Failed to create DDR. Error: " + ex.Message);
        throw;
    }
}

Kompilieren des Codes

Wichtig

Für diese VBScript- und C#-Beispiele sind smsrsgen.dll bzw .smsrsgenctl.dllerforderlich. Beide Dateien sind als Teil des herunterladbaren Configuration Manager SDK (im Ordner "Redistributables") enthalten.

Die Datei smsrsgenctl.dll ist eine 32-Bit-DLL und muss auf dem System registriert werden, auf dem die Anwendung ausgeführt wird. Darüber hinaus sollte die Anwendung, die smsrsgenctl.dll verwendet, als x86-Anwendung kompiliert werden.

Robuste Programmierung

Weitere Informationen zur Fehlerbehandlung finden Sie unter Informationen zu Configuration Manager Fehlern.

.NET Framework-Sicherheit

Weitere Informationen zum Schützen Configuration Manager Anwendungen finden Sie unter Configuration Manager rollenbasierte Verwaltung.

Siehe auch

SMSResGen-COM-Automatisierungsklasse