Poznámka
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Zdroj balíčku nasazení pro balíček pro nasazení aktualizací softwaru změníte v Configuration Manager získáním instance třídy SMS_SoftwareUpdatesPackage a pomocí metody ValidateNewPackageSource.
Poznámka
Zdroj balíčku pro většinu ostatních typů balíčků lze změnit v konzole nástroje . Tato možnost však není k dispozici pro balíčky aktualizací softwaru.
Změna zdroje balíčku nasazení
Nastavte připojení k poskytovateli serveru SMS.
Získejte existující objekt balíčku pomocí
SMS_SoftwareUpdatesPackage
třídy .Ověřte zdroj balíčku pomocí metody .
ValidateNewPackageSource
Změňte zdroj balíčku pro existující balíček pro nasazení aktualizací softwaru změnou
PkgSourcePath
vlastnosti balíčku.
Příklad
Následující příklad metody ukazuje, jak změnit zdroj balíčku nasazení pro balíček pro nasazení aktualizací softwaru pomocí SMS_SoftwareUpdatesPackage
třídy a ValidateNewPackageSource
metody .
Poznámka
Všechny aktualizace dostupné ve starém zdroji balíčku musí být dostupné v novém zdroji balíčku (cesta ke zdroji obsahu, předaná jako newPackageSourceLocation
proměnná v následujících skriptech).
Informace o volání ukázkového kódu najdete v tématu Volání Configuration Manager fragmentů kódu.
Příklad volání podprogramu v jazyce Visual Basic:
' PREWORK FOR ChangeDeploymentPackageSource
' Define the new package location to validate (package location must be UNC).
newPackageSourceLocation = "\\SMSSERVER\source1"
Call ChangeDeploymentPackageSource(swbemServices, _
"ABC00003", _
newPackageSourceLocation)
Příklad volání metody v jazyce C#:
//PREWORK FOR ChangeDeploymentPackageSource.
// Define the new package location to validate (package location must be UNC).
string newPackageSourceLocation = "\\\\SMSSERVER\\source1";
// Load the validateNewPackageSource parameters into an object to pass to the method.
Dictionary<string, object> validateNewPackageSourceParameters = new Dictionary<string, object>();
validateNewPackageSourceParameters.Add("PackageSource", newPackageSourceLocation);
//The method call.
SUMSnippets.ChangeDeploymentPackageSource(WMIConnection,
"ABC00003",
validateNewPackageSourceParameters,
newPackageSourceLocation);
Sub ChangeDeploymentPackageSource(connection, _
existingSUMPackageID, _
newDeploymentPackageLocation)
On Error Resume Next
' Get an existing SUM Deployment Package to change.
Set existingSUMDeploymentPackage = connection.Get("SMS_SoftwareUpdatesPackage.PackageID='" & existingSUMPackageID & "'")
' Check the package source for the existing SUM Deployment Package using the ValidateNewPackageSource method.
existingSUMDeploymentPackage.ValidateNewPackageSource(newDeploymentPackageLocation)
' Check the error information from the SWBemLasError object to determine success or failure of the ValidateNewPackageSource method.
If Err.Number = 0 Then
' Output a success message if the new package location is valid.
Wscript.Echo "The new location of the SUM deployment package validated. "
Wscript.Echo "Updating the SUM deployment package with the new package location. "
' Update the StoredPkgPath property of the existing deployment package
' with the new source location if the package location is valid.
existingSUMDeploymentPackage.PkgSourcePath = newDeploymentPackageLocation
' Save the updated package deployment package.
existingSUMDeploymentPackage.Put_
Else
' Output a failure message if the new deployment package location is not valid.
Wscript.Echo "The new location of the SUM deployment package failed to validate. "
End If
End Sub
public void ChangeDeploymentPackageSource(WqlConnectionManager connection,
string existingSUMPackageId,
Dictionary<string, object> validateNewPackageSourceParameters,
string newPackageSource)
{
try
{
// Get the specific SUM Deployment Package to change.
IResultObject existingSUMDeploymentPackage = connection.GetInstance(@"SMS_SoftwareUpdatesPackage.PackageId='" + existingSUMPackageId + "'");
// Validate the existing SUM Deployment Package content using the ValidateContent method.
// Note: The method will throw an exception, if the package source does not validate.
existingSUMDeploymentPackage.ExecuteMethod("ValidateNewPackageSource", validateNewPackageSourceParameters);
// Output a success message if the new package location is valid.
Console.WriteLine("The new location of the SUM deployment package validated. ");
// Update the PkgSourcePath property of the existing deployment package with the new source location.
existingSUMDeploymentPackage["PkgSourcePath"].StringValue = newPackageSource;
// Save the package properties.
existingSUMDeploymentPackage.Put();
// Output a success message that the package location was updated.
Console.WriteLine("Updated the SUM deployment package with the new package location. ");
}
catch (SmsException ex)
{
Console.WriteLine("Failed to validate the new package source.");
Console.WriteLine("Failed to update the SUM deployment package.");
Console.WriteLine("Error: " + ex.Message);
throw;
}
}
Ukázková metoda má následující parametry:
Parametr | Typ | Popis |
---|---|---|
connection |
-Spravované: WqlConnectionManager - VBScript: SWbemServices |
Platné připojení k poskytovateli serveru SMS. |
existingSUMPackageID |
-Spravované: String -Vbscript: String |
ID balíčku pro existující balíček pro nasazení aktualizací softwaru. |
validateNewPackageSource |
- Spravované: dictionary objekt |
Je validateNewPackageSource objekt slovníku obsahující parametry, které ValidateNewPackageSource metoda vyžaduje.PackageSource |
newPackageSourceLocation |
-Spravované: String -Vbscript: String |
Umístění zdroje nového balíčku nasazení Zdrojová cesta musí být cesta UNC (Universal Naming Convention). Všechny aktualizace dostupné ve starém zdroji balíčku musí být dostupné v novém zdroji balíčku. |
Kompilace kódu
Tento příklad jazyka C# vyžaduje:
Obory názvů
Systému
System.collections.generic
System.text
Microsoft. ConfigurationManagement.ManagementProvider
Microsoft. ConfigurationManagement.ManagementProvider.WqlQueryEngine
Sestavení
adminui.wqlqueryengine
microsoft.configurationmanagement.managementprovider
Robustní programování
Další informace o zpracování chyb najdete v tématu Informace o chybách Configuration Manager.
Zabezpečení rozhraní .NET Framework
Další informace o zabezpečení Configuration Manager aplikací najdete v tématu Configuration Manager správa na základě rolí.
Viz taky
Informace o nasazeních aktualizací softwaruSMS_SoftwareUpdatesPackage
Metoda ValidateNewPackageSource ve třídě SMS_SoftwareUpdatesPackage