Como remover um Driver do Windows de um pacote de imagem de inicialização
Em Configuration Manager, você remove um driver Windows de um pacote de imagem de inicialização de implantação do sistema operacional removendo-o ReferencedDrivers
da propriedade do objeto classe WMI do servidor SMS_BootImagePackage.
Observação
O driver não é removido até que o pacote de imagem de inicialização seja atualizado e atualizado nos pontos de distribuição.
Para remover um driver do Windows de um pacote de imagem de inicialização
Configure uma conexão com o Provedor de SMS. Para obter mais informações, confira Os fundamentos do Provedor de SMS.
Obtenha o objeto SMS_BootImagePackage para o pacote de imagem de inicialização que contém o driver que você deseja remover.
Remova o driver da
ReferencedDrivers
propriedade. O driver é identificado pelo identificador de item de configuração representado pelaID
propriedade do objeto classe WMI do servidor SMS_Driver_Details . Esse identificador corresponde àCI_ID
propriedade deSMS_Driver
.Confirme as alterações de
SMS_BootImagePackage
objeto.Atualize o pacote de imagem de inicialização chamando
RefreshPkgSource
.
Exemplo
O método de exemplo a seguir remove o driver windows do pacote de imagem de inicialização. O pacote é identificado por sua PackageID
propriedade e o driver é identificado por sua CI_ID
propriedade.
Para obter informações sobre como chamar o código de exemplo, consulte Chamando Configuration Manager Snippets 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 |
-Gerenciado: WqlConnectionManager - VBScript: SWbemServices |
Uma conexão válida com o provedor de SMS. |
driverID |
-Gerenciado: Integer -Vbscript: Integer |
O identificador do driver do Windows disponível em SMS_Driver.CI_ID . |
PackageID |
-Gerenciado: String -Vbscript: String |
O identificador de pacote de imagem de inicialização 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 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 o Gerenciamento de Driver de Implantação do Sistema Operacional
Como adicionar um Driver do Windows a um pacote de imagem de inicialização Configuration Manager