Megosztás a következőn keresztül:


Új számítógép importálása Configuration Manager

Új számítógépet közvetlenül a Configuration Manager-adatbázishoz az ImportMachineEntry metódus meghívásával adhat hozzá a SMS_Site osztályban. Ezzel operációs rendszereket telepíthet olyan számítógépekre, amelyeket még nem észlelt automatikusan a Configuration Manager.

Tipp

Az Import-CMComputerInformation PowerShell-parancsmagot is használhatja.

A következő adatokat kell megadnia:

  • NETBIOS-számítógép neve

  • MAC-cím

  • SMBIOS GUID

Megjegyzés:

A MAC-címnek olyan hálózati adapternek kell lennie, amely rendelkezik illesztőprogramtal a Windows PE környezetben. A MAC-címnek kettőspont formátumúnak kell lennie. Használja például a 00:00:00:00:00:00 címet. Más formátumok megakadályozzák az ügyfél számára a szabályzat fogadását.

Adjon hozzá egy újonnan importált számítógépet egy gyűjteményhez. Ez lehetővé teszi, hogy azonnal hozzon létre hirdetéseket az operációs rendszerek központi telepítéséhez a számítógépen.

Új számítógépet társíthat egy referencia-számítógéphez. További információ: Társítás létrehozása két számítógép között Configuration Manager.

Új számítógép hozzáadása

  1. Állítson be egy kapcsolatot az SMS-szolgáltatóval. További információ: Az SMS-szolgáltató alapjai.

  2. Hívja meg az ImportMachineEntry metódust a SMS_Site osztályban.

  3. Adja hozzá az ImportMachineEntryből kapott erőforrás-azonosítót egy gyűjteményhez.

Példa

Az alábbi példametódus egy új számítógépet ad hozzá a Configuration Manager. A számítógép importálásához a SMS_Site osztály ImportMachineEntry metódusa használható. Ezután a számítógép hozzá lesz adva egy egyéni gyűjteményhez. "Minden rendszer" gyűjtemény.

Fontos

A példa korábbi verziójában a számítógép hozzá lett adva a "Minden rendszer" gyűjteményhez. Már nem lehet módosítani a beépített gyűjteményeket, helyette egyéni gyűjteményt használni.

A mintakód meghívásával kapcsolatos információkért lásd: Configuration Manager Kódrészletek hívása.

Sub AddNewComputer (connection, netBiosName, smBiosGuid, macAddress)  

    Dim inParams  
    Dim outParams  
    Dim siteClass  
    Dim collection  
    Dim collectionRule  

    If (IsNull(smBiosGuid) = True) And (IsNull(macAddress) = True) Then  
        WScript.Echo "smBiosGuid or macAddress must be defined"  
        Exit Sub  
    End If       

    If IsNull(macAddress) = False Then  
        macAddress = Replace(macAddress,"-",":")  
    End If      

    ' Obtain an InParameters object specific  
    ' to the method.  

    Set siteClass = connection.Get("SMS_Site")  
    Set inParams = siteClass.Methods_("ImportMachineEntry"). _  
        inParameters.SpawnInstance_()  

    ' Add the input parameters.  
    inParams.Properties_.Item("MACAddress") =  macAddress  
    inParams.Properties_.Item("NetbiosName") =  netBiosName  
    inParams.Properties_.Item("OverwriteExistingRecord") =  False  
    inParams.Properties_.Item("SMBIOSGUID") =  smBiosGuid  

    ' Add the computer.  
    Set outParams = connection.ExecMethod("SMS_Site", "ImportMachineEntry", inParams)  

   ' Add the computer to the all systems collection.  
   set collection = connection.Get("SMS_Collection.CollectionID='ABC0000A'")  

   set collectionRule=connection.Get("SMS_CollectionRuleDirect").SpawnInstance_  

   collectionRule.ResourceClassName="SMS_R_System"  
   collectionRule.ResourceID= outParams.ResourceID  

   collection.AddMembershipRule collectionRule  

End Sub  
public int AddNewComputer(  
    WqlConnectionManager connection,   
    string netBiosName,   
    string smBiosGuid,   
    string macAddress)  
{  
    try  
    {  
        if (smBiosGuid == null && macAddress == null)  
        {  
            throw new ArgumentNullException("smBiosGuid or macAddress must be defined");  
        }  

        // Reformat macAddress to : separator.  
        if (string.IsNullOrEmpty(macAddress) == false)  
        {  
            macAddress = macAddress.Replace("-", ":");  
        }  

        // Create the computer.  
        Dictionary<string, object> inParams = new Dictionary<string, object>();  
        inParams.Add("NetbiosName", netBiosName);  
        inParams.Add("SMBIOSGUID", smBiosGuid);  
        inParams.Add("MACAddress", macAddress);  
        inParams.Add("OverwriteExistingRecord", false);  

        IResultObject outParams = connection.ExecuteMethod(  
            "SMS_Site",  
            "ImportMachineEntry",  
            inParams);  

        // Add to All System collection.  
        IResultObject collection = connection.GetInstance("SMS_Collection.collectionId='ABC0000A'");  
        IResultObject collectionRule = connection.CreateEmbeddedObjectInstance("SMS_CollectionRuleDirect");  
        collectionRule["ResourceClassName"].StringValue = "SMS_R_System";  
        collectionRule["ResourceID"].IntegerValue = outParams["ResourceID"].IntegerValue;  

        Dictionary<string, object> inParams2 = new Dictionary<string, object>();  
        inParams2.Add("collectionRule", collectionRule);  

        collection.ExecuteMethod("AddMembershipRule", inParams2);  

        return outParams["ResourceID"].IntegerValue;  
    }  
    catch (SmsException e)  
    {  
        Console.WriteLine("failed to add the computer" + e.Message);  
        throw;  
    }  
}  

A példametódus a következő paraméterekkel rendelkezik:

Paraméter Típus Leírás
connection -Kezelt: WqlConnectionManager
- VBScript: SWbemServices
– Érvényes kapcsolat az SMS-szolgáltatóval.
netBiosName -Kezelt: String
-Vbscript: String
- A számítógép NETBIOS-neve.
smBiosGuid -Kezelt: String
-Vbscript: String
A számítógép SMBIOS GUID azonosítója.
MacAddress -Kezelt: String
-Vbscript: String
A számítógép MAC-címe a következő formátumban: 00:00:00:00:00:00.

A kód fordítása

A C# példa a következő fordítási követelményekkel rendelkezik:

Névterek

Rendszer

System.Collections.Generic

Microsoft. ConfigurationManagement.ManagementProvider

Microsoft. ConfigurationManagement.ManagementProvider.WqlQueryEngine

Összeszerelés

microsoft.configurationmanagement.managementprovider

adminui.wqlqueryengine

Robusztus programozás

A hibakezeléssel kapcsolatos további információkért lásd: A Configuration Manager hibák ismertetése.

.NET-keretrendszer Security

A Configuration Manager alkalmazások biztonságossá tételével kapcsolatos további információkért lásd: Configuration Manager szerepköralapú felügyelet.

Lásd még

ImportMachineEntry metódus a SMS_Site osztályban
Az operációs rendszer központi telepítésének számítógép-kezelésével kapcsolatos tudnivalók