Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A szoftverfrissítések központi telepítési csomagjának központi telepítési csomagjának forrását a Configuration Manager a SMS_SoftwareUpdatesPackage osztály egy példányának beszerzésével és a ValidateNewPackageSource metódussal módosíthatja.
Megjegyzés:
A legtöbb más csomagtípus csomagforrása módosítható a konzolon. Ez a lehetőség azonban nem érhető el szoftverfrissítési csomagokhoz.
Az üzembehelyezési csomag forrásának módosítása
Állítson be egy kapcsolatot az SMS-szolgáltatóval.
Szerezzen be egy meglévő csomagobjektumot a
SMS_SoftwareUpdatesPackage
osztály használatával.Ellenőrizze a csomag forrását a
ValidateNewPackageSource
metódussal.Meglévő szoftverfrissítések központi telepítési csomagjának csomagforrását a
PkgSourcePath
csomag tulajdonságának módosításával módosíthatja.
Példa
Az alábbi példametódus bemutatja, hogyan módosíthatja a szoftverfrissítések központi telepítési csomagjának forrását a osztály és a SMS_SoftwareUpdatesPackage
ValidateNewPackageSource
metódus használatával.
Megjegyzés:
A régi csomagforrásban elérhető összes frissítésnek elérhetőnek kell lennie az új csomagforrásban (a tartalomforrás elérési útja, amely változóként lett átadva az newPackageSourceLocation
alábbi szkriptekben).
A mintakód meghívásával kapcsolatos információkért lásd: Configuration Manager Kódrészletek hívása.
Példa a Visual Basicben a subroutine hívásra:
' PREWORK FOR ChangeDeploymentPackageSource
' Define the new package location to validate (package location must be UNC).
newPackageSourceLocation = "\\SMSSERVER\source1"
Call ChangeDeploymentPackageSource(swbemServices, _
"ABC00003", _
newPackageSourceLocation)
Példa a metódushívásra a C#-ban:
//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;
}
}
A példametódus a következő paraméterekkel rendelkezik:
Paraméter | Típus | Leírás |
---|---|---|
connection |
-Kezelt: WqlConnectionManager - VBScript: SWbemServices |
Érvényes kapcsolat az SMS-szolgáltatóval. |
existingSUMPackageID |
-Kezelt: String -Vbscript: String |
Meglévő szoftverfrissítések központi telepítési csomagjának csomagazonosítója. |
validateNewPackageSource |
- Felügyelt: dictionary objektum |
A validateNewPackageSource egy szótárobjektum, amely a metódus által igényelt paramétereket ValidateNewPackageSource tartalmazza.PackageSource |
newPackageSourceLocation |
-Kezelt: String -Vbscript: String |
Az új üzembehelyezési csomag forráshelye. A forrásútvonalnak univerzális elnevezési konvenciós (UNC) elérési útnak kell lennie. A régi csomagforrásban elérhető összes frissítésnek elérhetőnek kell lennie az új csomagforrásban. |
A kód fordítása
Ehhez a C#-példához a következőre van szükség:
Névterek
Rendszer
System.Collections.Generic
System.Text
Microsoft. ConfigurationManagement.ManagementProvider
Microsoft. ConfigurationManagement.ManagementProvider.WqlQueryEngine
Összeszerelés
adminui.wqlqueryengine
microsoft.configurationmanagement.managementprovider
Robusztus programozás
A hibakezeléssel kapcsolatos további információkért lásd: A Configuration Manager hibák ismertetése.
.NET-keretrendszer Security
A Configuration Manager alkalmazások biztonságossá tételével kapcsolatos további információkért lásd: Configuration Manager szerepköralapú felügyelet.
Lásd még
Tudnivalók a szoftverfrissítések központi telepítésérőlSMS_SoftwareUpdatesPackage
ValidateNewPackageSource metódus a SMS_SoftwareUpdatesPackage osztályban