Share via


Az Restore-Only mód beállítása egy állapotáttelepítési ponthoz

A Configuration Manager úgy konfigurálja az operációs rendszer központi telepítési állapotának áttelepítési pontját, hogy elutasítsa a felhasználói adatok tárolására irányuló új kéréseket az SMPQuiesceState beágyazott tulajdonság beállításával.

Az SMPQuiesceState két lehetséges értékkel rendelkezik.

Érték Definíció
0 A csak visszaállítási mód ki van kapcsolva.
1 A csak visszaállítási mód be van kapcsolva.

A csak visszaállítási mód beállítása egy állapotáttelepítési ponthoz

  1. Állítson be egy kapcsolatot az SMS-szolgáltatóval. További információ: Az SMS-szolgáltató alapjai.

  2. Létesítsen kapcsolatot a helyvezérlő fájl Állapotáttelepítési pont erőforrásai szakaszával.

  3. A beágyazott tulajdonságok lekérése.

  4. Frissítse az SMPQuiesceState elemet.

  5. Véglegesítse a webhelyvezérlő fájl módosításait.

Példa

Az alábbi példametódus a megadott érték alapján állítja be a csak visszaállítási módot.

A mintakód meghívásával kapcsolatos információkért lásd: Configuration Manager Kódrészletek hívása.

Sub SetRestoreOnlyMode(connection,          _  
                       context,           _  
                       siteCode,               _  
                       enableRestoreOnlyMode)  

    ' Load site control file and get SMS State Migration Point section.  
    connection.ExecMethod "SMS_SiteControlFile.Filetype=1,Sitecode=""" & siteCode & """", "Refresh", , , context  

    Query = "SELECT * FROM SMS_SCI_SysResUse " & _  
            "WHERE RoleName = 'SMS State Migration Point' " & _  
            "AND SiteCode = '" & siteCode & "'"  

    Set SCIComponentSet = connection.ExecQuery(Query, , , context)  

    ' Only one instance is returned from the query.  
    For Each SCIComponent In SCIComponentSet  

         ' Display state migration point server name.  
         wscript.echo "SMS State Migration Point Server: " & SCIComponent.NetworkOSPath                                      

        ' Loop through the array of embedded property instances.  
        For Each vProperty In SCIComponent.Props  

            ' Setting: SMPQuiesceState  
            If vProperty.PropertyName = "SMPQuiesceState" Then  
                wscript.echo " "  
                wscript.echo vProperty.PropertyName  
                wscript.echo "Current value " &  vProperty.Value                 

                ' Modify the value.  
                vProperty.Value = enableRestoreOnlyMode  
                wscript.echo "New value " & enableRestoreOnlyMode  
            End If  

        Next     

             ' Update the component in your copy of the site control file. Get the path  
             ' to the updated object, which could be used later to retrieve the instance.  
             Set SCICompPath = SCIComponent.Put_( , context)  
    Next  

    ' Commit the change to the actual site control file.  
    Set InParams = connection.Get("SMS_SiteControlFile").Methods_("CommitSCF").InParameters.SpawnInstance_  
    InParams.SiteCode = siteCode  
    connection.ExecMethod "SMS_SiteControlFile", "CommitSCF", InParams, , context  
End Sub  
public void SetRestoreOnlyMode(  
    WqlConnectionManager connection,  
    string server,   
    string siteCode,   
    bool enableRestoreOnlyMode)  
{  
    try  
    {  
        // Get the site control file.  
        IResultObject ro = connection.GetInstance("SMS_SCI_SysResUse.FileType=2,ItemName='[\"Display=\\\\" + server + "\\\"]MSWNET:[\"SMS_SITE=" + siteCode + "\"]\\\\" + server + "\\,SMS State Migration Point',ItemType='System Resource Usage',SiteCode='" + siteCode + "'");  

        // Get the embedded properties.  
        Dictionary<string, IResultObject> embeddedProperties = ro.EmbeddedProperties;  

        // Set the restore only mode.  
        embeddedProperties["SMPQuiesceState"]["Value"].BooleanValue = enableRestoreOnlyMode;  

        ro.EmbeddedProperties = embeddedProperties;  

        // Commmit the changes.  
        ro.Put();  
    }  
    catch (SmsException e)  
    {  
        Console.WriteLine("Failed to set restore only mode" + 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.
context (VBScript) -Vbscript: SWbemContext Érvényes környezeti objektum. További információ: Configuration Manager környezeti minősítő hozzáadása WMI használatával.
server -Kezelt: String
-Vbscript: String
Az Configuration Manager kiszolgáló, amelyen az állapotáttelepítési pont fut.
siteCode -Kezelt: String
-Vbscript: String
A Configuration Manager helykódja.
enableRestoreOnlyMode -Kezelt: Boolean
-Vbscript: Integer
A csak visszaállítási módot állítja be.

- Felügyelt: true csak a visszaállítási módot kapcsolja be; ellenkező esetben false.
- VBScript: 1 bekapcsolja a visszaállítási módot; ellenkező esetben 0.

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

System.Text

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

Az operációs rendszer központi telepítésének helyszerepkonfigurációja– Olvasás és írás a Configuration Manager helyvezérlő fájlba felügyelt kód használatával
A Configuration Manager helyvezérlő fájl olvasása és írása WMI használatával