Sledování migrací nasazení operačního systému v Configuration Manager
Migrace operačního systému Configuration Manager sledujete kontrolou třídy SMS_StateMigration.
Vlastnosti StoreCreationDate
, StoreDeletionDate
a StoreReleaseDate
je možné použít k identifikaci aktuálního stavu migrace.
Sledování migrací stavu
Nastavte připojení k poskytovateli serveru SMS. Další informace najdete v tématu Základy poskytovatele serveru SMS.
Získejte instanci SMS_StateMigration.
Pomocí vlastností ,
StoreDeletionDate
aStoreReleaseDate
vypočítejte aktuální stavStoreCreationDate
migrace.
Příklad
Následující ukázková metoda provede výčet všech migrací a určí, zda probíhají.
Informace o volání ukázkového kódu najdete v tématu Volání Configuration Manager fragmentů kódu.
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;
}
}
Ukázková metoda má následující parametry:
Parametr | Typ | Popis |
---|---|---|
connection |
-Spravované: WqlConnectionManager - VBScript: SWbemServices |
Platné připojení k poskytovateli serveru SMS. |
Kompilace kódu
Příklad jazyka C# má následující požadavky na kompilaci:
Obory názvů
Systému
System.collections.generic
Microsoft. ConfigurationManagement.ManagementProvider
Microsoft. ConfigurationManagement.ManagementProvider.WqlQueryEngine
Sestavení
microsoft.configurationmanagement.managementprovider
adminui.wqlqueryengine
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
Přehled objektůJak se připojit k poskytovateli serveru SMS v Configuration Manager pomocí spravovaného kódu
Připojení k poskytovateli serveru SMS v Configuration Manager pomocí rozhraní WMI
Informace o správě počítačů nasazení operačního systému