Como definir a resposta do ponto de serviço PXE para uma interface de rede específica
Em Configuration Manager, você define a implantação do sistema operacional para responder a um conjunto específico de endereços de rede adicionando os endereços MAC (controle de acesso de mídia) necessários à BindExcept
lista de propriedades inseridas. Você também deve definir a BindPolicy
propriedade inserida como 1. Isso especifica que as solicitações PXE são aceitas apenas em endereço de rede especificado. Para obter mais informações sobre como definir BindPolicy
, consulte Como definir a resposta do ponto de serviço PXE para todas as interfaces de rede.
Para definir a resposta para uma interface de rede específica
Configure uma conexão com o Provedor de SMS. Para obter mais informações, confira Os fundamentos do Provedor de SMS.
Faça uma conexão com a seção recursos de ponto de serviço PXE do arquivo de controle do site.
Obtenha a
BindExcept
lista de propriedades inseridas.Adicione os endereços MAC à
BindExcept
lista de propriedades inseridas.Confirme as alterações no arquivo de controle do site.
Exemplo
O método de exemplo a seguir adiciona um endereço MAC fornecido à lista de endereços MAC que são respondidos.
Para obter informações sobre como chamar o código de exemplo, consulte Chamando Configuration Manager Snippets de Código.
public void SetNetworkInterface(WqlConnectionManager connection, string siteCode, string serverName, string macAddress){ try { //Connect to distribution point instance. IResultObject siteRole = connection.GetInstance("SMS_SCI_SysResUse.FileType=2,ItemName=\"[\\\"Display=\\\\\\\\" + serverName + "\\\\\\\"]MSWNET:[\\\"SMS_SITE=" + siteCode + "\\\"]\\\\\\\\" + serverName + "\\\\,SMS Distribution Point\",ItemType=\"System Resource Usage\",SiteCode=" + "\"" + siteCode + "\""); // Create temporary copy of the embedded properties. Dictionary<string, IResultObject> embeddedPropertyLists = siteRole.EmbeddedPropertyLists; // Get current mac addresses. string[] macAddresses = embeddedPropertyLists["BindExcept"]["Values"].StringArrayValue; //Convert to list. List<string> addressList = new List<string>(); foreach (string address in macAddresses) { addressList.Add(address); } // Add the new mac address to the list. addressList.Add(macAddress); // Add the new mac address to the list. embeddedPropertyLists["BindExcept"]["Values"].StringArrayValue = addressList.ToArray(); siteRole.EmbeddedPropertyLists = embeddedPropertyLists; // Save the settings. siteRole.Put(); } catch (SmsException ex) { Console.WriteLine(); Console.WriteLine("Failed. Error: " + ex.InnerException.Message); }}
O método de exemplo tem os seguintes parâmetros:
Parâmetro | Tipo | Descrição |
---|---|---|
connection |
-Gerenciado: WqlConnectionManager |
Uma conexão válida com o provedor de SMS. |
serverName |
-Gerenciado: String |
O servidor Configuration Manager. |
siteCode |
-Gerenciado: String |
O código do site Configuration Manager. |
macAddress |
-Gerenciado: String |
O endereço MAC a ser adicionado no seguinte formato: 00:11:22:33:44:55 |
Compilando o código
O exemplo C# tem os seguintes requisitos de compilação:
Namespaces
System
System.Collections.Generic
System.Text
Microsoft. ConfigurationManagement.ManagementProvider
Microsoft. ConfigurationManagement.ManagementProvider.WqlQueryEngine
Assembly
microsoft.configurationmanagement.managementprovider
adminui.wqlqueryengine
Programação robusta
Para obter mais informações sobre o tratamento de erros, consulte Sobre erros de Configuration Manager.
Segurança do .NET Framework
Para obter mais informações sobre como proteger aplicativos Configuration Manager, consulte Configuration Manager administração baseada em função.
Confira também
Sobre a configuração de função do site de implantação do sistema operacionalComo ler e gravar no arquivo de controle de site Configuration Manager usando código gerenciado
Como ler e gravar no arquivo de controle de site Configuration Manager usando o WMI