Sdílet prostřednictvím


Import nového počítače do Configuration Manager

Můžete přidat nový počítač přímo do databáze Configuration Manager voláním ImportMachineEntry metoda v class SMS_Site. Můžete ho použít k nasazení operačních systémů do počítačů, které ještě nebyly automaticky zjištěny Configuration Manager.

Tip

Můžete také použít rutinu PowerShellu Import-CMComputerInformation .

Musíte zadat následující informace:

  • Název počítače rozhraní NETBIOS

  • Adresa MAC

  • SMBIOS GUID

Poznámka

Adresa MAC musí být pro síťový adaptér, který má ovladač v prostředí Windows PE. Adresa MAC musí být ve formátu dvojtečky. Například: 00:00:00:00:00:00. Jiné formáty zabrání klientovi v přijetí zásad.

Do kolekce byste měli přidat nově importovaný počítač. To vám umožní okamžitě vytvořit inzerování pro nasazení operačních systémů do počítače.

Nový počítač můžete přidružit k referenčnímu počítači. Další informace najdete v tématu Vytvoření přidružení mezi dvěma počítači v Configuration Manager.

Přidání nového počítače

  1. Nastavte připojení k poskytovateli serveru SMS. Další informace najdete v tématu Základy poskytovatele serveru SMS.

  2. Volejte metodu ImportMachineEntry ve třídě SMS_Site.

  3. Přidejte identifikátor prostředku, který získáte z ImportMachineEntry, do kolekce.

Příklad

Následující příklad metoda přidá nový počítač do Configuration Manager. Metoda ImportMachineEntry ve třídě SMS_Site slouží k importu počítače. Pak se počítač přidá do vlastní kolekce. Kolekce "Všechny systémy".

Důležité

V předchozí verzi tohoto příkladu byl počítač přidán do kolekce "Všechny systémy". Předdefinované kolekce už není možné upravovat. Místo toho použijte vlastní kolekci.

Informace o volání ukázkového kódu najdete v tématu Volání Configuration Manager fragmentů kódu.

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

Ukázková metoda má následující parametry:

Parametr Typ Popis
connection -Spravované: WqlConnectionManager
- VBScript: SWbemServices
– Platné připojení k poskytovateli serveru SMS.
netBiosName -Spravované: String
-Vbscript: String
– Název rozhraní NETBIOS počítače.
smBiosGuid -Spravované: String
-Vbscript: String
Identifikátor GUID SMBIOS pro počítač.
MacAddress -Spravované: String
-Vbscript: String
Adresa MAC počítače v následujícím formátu: 00:00:00:00:00:00.

Kompilace kódu

Příklad jazyka C# má následující požadavky na kompilaci:

Obory názvů

Systému

System.collections.generic

Microsoft. ConfigurationManagement.ManagementProvider

Microsoft. ConfigurationManagement.ManagementProvider.WqlQueryEngine

Sestavení

microsoft.configurationmanagement.managementprovider

adminui.wqlqueryengine

Robustní programování

Další informace o zpracování chyb najdete v tématu Informace o chybách Configuration Manager.

Zabezpečení rozhraní .NET Framework

Další informace o zabezpečení Configuration Manager aplikací najdete v tématu Configuration Manager správa na základě rolí.

Viz taky

Metoda ImportMachineEntry ve třídě SMS_Site
Informace o správě počítačů nasazení operačního systému