Jak usunąć sterownik systemu Windows z pakietu obrazu rozruchowego
W Configuration Manager należy usunąć sterownik systemu Windows z pakietu obrazu rozruchowego wdrożenia systemu operacyjnego, usuwając go z ReferencedDrivers
właściwości obiektu klasy WMI serwera SMS_BootImagePackage.
Uwaga
Sterownik nie zostanie usunięty, dopóki pakiet obrazu rozruchowego nie zostanie odświeżony i zaktualizowany w punktach dystrybucji.
Aby usunąć sterownik systemu Windows z pakietu obrazu rozruchowego
Skonfiguruj połączenie z dostawcą programu SMS. Aby uzyskać więcej informacji, zobacz Podstawy dostawcy programu SMS.
Pobierz obiekt SMS_BootImagePackage dla pakietu obrazu rozruchowego zawierającego sterownik, który chcesz usunąć.
Usuń sterownik z
ReferencedDrivers
właściwości . Sterownik jest identyfikowany przez jego identyfikator elementu konfiguracji reprezentowany przezID
właściwość obiektu klasy WMI serwera SMS_Driver_Details . Ten identyfikator jest zgodny z właściwościąCI_ID
SMS_Driver
.Zatwierdź zmiany obiektu
SMS_BootImagePackage
.Odśwież pakiet obrazu rozruchowego, wywołując polecenie
RefreshPkgSource
.
Przykład
Poniższa przykładowa metoda usuwa sterownik systemu Windows z pakietu obrazu rozruchowego. Pakiet jest identyfikowany przez jego PackageID
właściwość, a sterownik jest identyfikowany przez jego CI_ID
właściwość.
Aby uzyskać informacje na temat wywoływania przykładowego kodu, zobacz Wywoływanie fragmentów kodu Configuration Manager.
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;
}
}
Przykładowa metoda ma następujące parametry:
Parametr | Wpisać | Opis |
---|---|---|
Connection |
-Zarządzane: WqlConnectionManager - VBScript: SWbemServices |
Prawidłowe połączenie z dostawcą programu SMS. |
driverID |
-Zarządzane: Integer -Vbscript: Integer |
Identyfikator sterownika systemu Windows dostępny w systemie SMS_Driver.CI_ID . |
PackageID |
-Zarządzane: String -Vbscript: String |
Identyfikator pakietu obrazu rozruchowego dostępny w programie SMS_BootImagePackage.PackageID . |
Kompilowanie kodu
Ten przykład języka C# wymaga:
Obszary nazw
System
System.collections.generic
System.text
Microsoft. ConfigurationManagement.ManagementProvider
Microsoft. ConfigurationManagement.ManagementProvider.WqlQueryEngine
Zestawu
microsoft.configurationmanagement.managementprovider
adminui.wqlqueryengine
Niezawodne programowanie
Aby uzyskać więcej informacji na temat obsługi błędów, zobacz Informacje o błędach Configuration Manager.
zabezpieczenia .NET Framework
Aby uzyskać więcej informacji na temat zabezpieczania aplikacji Configuration Manager, zobacz Configuration Manager administracja oparta na rolach.
Zobacz też
Informacje o zarządzaniu sterownikami wdrażania systemu operacyjnego
Jak dodać sterownik systemu Windows do pakietu obrazu rozruchowego Configuration Manager