Compartir a través de


Creación de un registro de detección de datos

El registro de detección de datos (DDR), en Configuration Manager, especifica el tipo de recurso, el proceso de detección, el sitio que detectó el recurso y las propiedades del recurso. Configuration Manager proporciona seis funciones de biblioteca que se usan para crear sus propios DDR. Para obtener más información. consulte Acerca de la creación de un registro de detección de datos.

Para crear un registro de detección de datos

  1. Cree una nueva instancia de la SMSResGen clase .

  2. Cree un nuevo DDR mediante el NewDDR método .

  3. Agregue propiedades al DDR mediante los ADDPROP_ métodos .

  4. Escriba el nuevo DDR en un archivo mediante el DDRWrite método .

Ejemplo

En el ejemplo siguiente se crea un DDR.


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;
    }
}

Compilar el código

Importante

Estos ejemplos de VBScript y C# requieren smsrsgen.dll y smsrsgenctl.dll, respectivamente. Ambos archivos se incluyen como parte del SDK de Configuration Manager descargable (en la carpeta "Redistributables").

El archivo smsrsgenctl.dll es un archivo DLL de 32 bits y debe registrarse en el sistema que ejecutará la aplicación. Además, la aplicación que usa smsrsgenctl.dll debe compilarse como una aplicación x86.

Programación sólida

Para obtener más información sobre el control de errores, consulte Acerca de los errores de Configuration Manager.

Seguridad de .NET Framework

Para obtener más información sobre la protección de aplicaciones Configuration Manager, consulte Configuration Manager administración basada en roles.

Vea también

SMSResGen COM Automation (clase)