Az operációs rendszer központi telepítésének migrálásának nyomon követése az Configuration Manager-ben
A SMS_StateMigration osztály vizsgálatával nyomon követheti Configuration Manager operációs rendszer áttelepítését.
A StoreCreationDate
, StoreDeletionDate
és StoreReleaseDate
tulajdonságok a migrálás aktuális állapotának azonosítására használhatók.
Az állapotmigrálások nyomon követése
Állítson be egy kapcsolatot az SMS-szolgáltatóval. További információ: Az SMS-szolgáltató alapjai.
Szerezze be a SMS_StateMigration egy példányát.
Számítsa ki az aktuális migrálási állapotot a
StoreCreationDate
,StoreDeletionDate
ésStoreReleaseDate
tulajdonságok használatával.
Példa
Az alábbi példametódus számbavételt ad az összes migráláson, és megállapítja, hogy folyamatban vannak-e.
A mintakód meghívásával kapcsolatos információkért lásd: Configuration Manager Kódrészletek hívása.
Sub MigrationState(connection)
Dim migrations
Dim migration
Dim inProgress
Dim zeroTime
zeroTime = "00000000000000.000000+***"
Set migrations = connection.ExecQuery( "Select * From SMS_StateMigration")
For Each migration in Migrations
inProgress=False
If migration.StoreCreationDate<>zeroTime Then
If migration.StoreReleaseDate = zeroTime Then
inProgress=True
Else If migration.StoreDeletionDate = zeroTime Then
inProgress = True
Else
inProgress = false
End If
End If
Else
inProgress=False
End If
WScript.StdOut.Write "Migration " + migration.MigrationID
If inProgress = True Then
Wscript.Echo " is in progress"
Else
WScript.Echo " is not in progress"
End If
Next
End Sub
public void MigrationState(WqlConnectionManager connection)
{
try
{
IResultObject migrations =
connection.QueryProcessor.ExecuteQuery("Select * from SMS_StateMigration");
string zeroTime = "00000000000000.000000+***";
foreach (IResultObject migration in migrations)
{
Boolean inProgress = false;
if (migration["StoreCreationDate"].DateTimeValue.Equals(zeroTime) == false)
{
if (migration["StoreReleaseDate"].DateTimeValue.Equals(zeroTime) == true)
{
inProgress = true;
}
else if (migration["StoreDeletionDate"].DateTimeValue.Equals(zeroTime) == true)
{
inProgress = true;
}
else
{
inProgress = false;
}
}
else
{
inProgress = false;
}
Console.Write("Migration " + migration["MigrationID"].StringValue);
if (inProgress)
{
Console.WriteLine(" is in progress");
}
else
{
Console.WriteLine(" is not in progress");
}
}
}
catch (SmsException e)
{
Console.WriteLine("Failed while displaying migration state: " + e.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. |
A kód fordítása
A C# példa a következő fordítási követelményekkel rendelkezik:
Névterek
Rendszer
System.Collections.Generic
Microsoft. ConfigurationManagement.ManagementProvider
Microsoft. ConfigurationManagement.ManagementProvider.WqlQueryEngine
Összeszerelés
microsoft.configurationmanagement.managementprovider
adminui.wqlqueryengine
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
Objektumok áttekintése– Csatlakozás SMS-szolgáltatóhoz Configuration Manager felügyelt kód használatával
Csatlakozás SMS-szolgáltatóhoz Configuration Manager WMI használatával
Az operációs rendszer központi telepítésének számítógép-kezelésével kapcsolatos tudnivalók
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: