Partilhar via


Como Importar um Novo Computador para o Configuration Manager

Adicione um novo computador diretamente à base de dados do Gestor de Configuração, chamando o Método DeIntóitico ImportMachine em classe SMS_Site. Isto pode ser usado para implantar sistemas operativos em computadores que ainda não foram descobertos automaticamente pelo Gestor de Configuração.

Deve fornecer as seguintes informações:

  • Nome do computador NETBIOS

  • Endereço MAC

  • SMBIOS GUID

Nota

O endereço MAC deve ser para um adaptador de rede que tenha um controlador em Windows PE. O endereço MAC deve estar no formato do cólon. Por exemplo, 00:00:00:00:00:00. Outros formatos impedirão o cliente de receber a política.

Deve adicionar um computador recém-importado a uma coleção. Isto permite-lhe criar imediatamente anúncios para a implementação de sistemas operativos no computador.

Pode associar um novo computador a um computador de referência. Para obter mais informações, consulte Como Criar uma Associação entre dois computadores no Gestor de Configuração.

Para adicionar um novo computador

  1. Configurar uma ligação com o Fornecedor DE SMS. Para mais informações, consulte os fundamentos do Fornecedor de SMS.

  2. Chame o Método De Inquérito de ImportMineEntry em SMS_Site de classe.

  3. Adicione o identificador de recursos que obtém da ImportMachineEntry a uma coleção.

Exemplo

O método de exemplo a seguir adiciona um novo computador ao Gestor de Configuração. O Método De Informação de ImportE na classe SMS_Site é utilizado para importar o computador. Em seguida, o computador é adicionado a uma coleção personalizada. Coleção "Todos os Sistemas".

Importante

Na versão anterior deste exemplo, o computador foi adicionado à coleção "Todos os Sistemas". Já não é possível modificar as coleções incorporadas, utilizar uma coleção personalizada.

Para obter informações sobre a chamada do código de amostra, consulte o Código de Identificação do Gestor de Chamadas.

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

O método exemplo tem os seguintes parâmetros:

Parâmetro Tipo Description
connection - Gerido: WqlConnectionManager
- VBScript: SWbemServices
- Uma ligação válida ao Fornecedor de SMS.
netBiosName - Gerido: String
- VBScript: String
- O nome NETBIOS do computador.
smBiosGuid - Gerido: String
- VBScript: String
O SMBIOS GUID para o computador.
MacAddress - Gerido: String
- VBScript: String
O endereço MAC para o computador no seguinte formato: 00:00:00:00:00:00 .

A Compilar o Código

O exemplo C# tem os seguintes requisitos de compilação:

Espaços de nomes

Sistema

System.Collections.Generic

Microsoft.ConfigurationManagement.ManagementProvider

Microsoft.ConfigurationManagement.ManagementProvider.WqlQueryEngine

Assemblagem

microsoft.configurationmanagement.managementprovider

adminui.wqlqueryengine

Programação Robusta

Para obter mais informações sobre o tratamento de erros, consulte Sobre erros do Gestor de Configuração.

Segurança do .NET Framework

Para obter mais informações sobre a segurança das aplicações do Gestor de Configuração, consulte a administração baseada em funções do Gestor de Configuração.

Consulte também

Método De Inquérito De ImportMineEntry em SMS_Site de classe
Sobre a gestão de computadores de implementação do SO