Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
No Configuration Manager, remove um controlador do Windows de um pacote de imagem de arranque de implementação do sistema operativo ao removê-lo da ReferencedDrivers
propriedade do objeto classe WMI de Servidor SMS_BootImagePackage.
Observação
O controlador não é removido até que o pacote de imagem de arranque seja atualizado e atualizado nos pontos de distribuição.
Para remover um controlador do Windows de um pacote de imagem de arranque
Configure uma ligação ao Fornecedor de SMS. Para obter mais informações, veja Noções básicas do Fornecedor de SMS.
Obtenha o objeto SMS_BootImagePackage do pacote de imagem de arranque que contém o controlador que pretende remover.
Remova o controlador da
ReferencedDrivers
propriedade . O controlador é identificado pelo identificador do item de configuração representado pelaID
propriedade do objeto classe WMI de Servidor SMS_Driver_Details . Este identificador corresponde àCI_ID
propriedade deSMS_Driver
.Consolide as alterações do
SMS_BootImagePackage
objeto.Atualize o pacote de imagem de arranque ao chamar
RefreshPkgSource
.
Exemplo
O método de exemplo seguinte remove o controlador do Windows do pacote de imagem de arranque. O pacote é identificado pela respetiva PackageID
propriedade e o controlador é identificado pela respetiva CI_ID
propriedade.
Para obter informações sobre como chamar o código de exemplo, veja Chamar Configuration Manager Fragmentos de Código.
Sub RemoveDriverFromBootImagePackage(connection, driverId, packageId)
Dim bootImagePackage
Dim driver
Dim driverDetails
Dim newReferencedDrivers()
Dim found
Dim index
' Get the boot image package.
Set bootImagePackage = connection.Get("SMS_BootImagePackage.PackageID='" & packageId &"'" )
found = False
index=0
' Copy the contents and leave out the driver.
For Each driver In bootImagePackage.ReferencedDrivers
If driver.ID = driverID Then
found=True
Else
Set newReferencedDrivers(index)=driver
index = index + 1
End If
Next
' Update the referenced drivers.
If found=True Then
ReDim preserve newReferencedDrivers(UBound(bootImagePackage.ReferencedDrivers)-1)
bootImagePackage.ReferencedDrivers=newReferencedDrivers
bootImagePackage.Put_
bootImagePackage.RefreshPkgSource
End If
End Sub
public void RemoveDriverFromBootImagePackage(
WqlConnectionManager connection,
int driverId,
string packageId)
{
try
{
// Get the boot image package.
IResultObject bootImagePackage = connection.GetInstance(@"SMS_BootImagePackage.packageId='" + packageId + "'");
// Get the (SMS_Driver_Details) drivers referenced by the package.
List<IResultObject> referencedDrivers = bootImagePackage.GetArrayItems("ReferencedDrivers");
foreach (IResultObject ro in referencedDrivers)
{
if (ro["ID"].IntegerValue == driverId) // Remove the driver that matches driverId.
{
referencedDrivers.Remove(ro);
break;
}
}
bootImagePackage.SetArrayItems("ReferencedDrivers", referencedDrivers);
// Commit the changes.
bootImagePackage.Put();
bootImagePackage.ExecuteMethod("RefreshPkgSource", null);
}
catch (SmsException e)
{
Console.WriteLine(e.Message);
throw;
}
}
O método de exemplo tem os seguintes parâmetros:
Parâmetro | Tipo | Descrição |
---|---|---|
Connection |
- Gerido: WqlConnectionManager - VBScript: SWbemServices |
Uma ligação válida ao Fornecedor de SMS. |
driverID |
- Gerido: Integer - VBScript: Integer |
O identificador do controlador do Windows disponível no SMS_Driver.CI_ID . |
PackageID |
- Gerido: String - VBScript: String |
O identificador do pacote de imagem de arranque disponível em SMS_BootImagePackage.PackageID . |
Compilando o código
Este exemplo de C# requer:
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 processamento de erros, veja About Configuration Manager Errors (Acerca dos Erros de Configuration Manager).
Segurança do .NET Framework
Para obter mais informações sobre como proteger aplicações Configuration Manager, veja Configuration Manager administração baseada em funções.
Confira também
Acerca da Gestão de Controladores de Implementação do Sistema OperativoComo Adicionar um Controlador do Windows a um Pacote de Imagem de Arranque do Configuration Manager