Создание точки восстановления Windows с помощью WMI (Сreate a System Restore point)


      Данный пример позволяет легко и просто создавать точки восстановления Windows, не только на локальной ПЭВМ, но и на удаленной!
private void button2_Click(object sender, EventArgs e)
{
    if (CreateRestorePoint())
    {
        MessageBox.Show("Точка восстоновления создана успешно!");
    }
}

public const string SYSTEM_RESTORE = "SystemRestore";
public const string CREATE_SYSTEM_RESTORE_POINT = "CreateRestorePoint";
public const string SYSTEM_RESTORE_POINT_DESCRIPTION = "Description";
public const string SYSTEM_RESTORE_POINT_TYPE = "RestorePointType";
public const string SYSTEM_RESTORE_EVENTTYPE = "EventType";

public static bool CreateRestorePoint()
{
    bool isCreated = true;
    try
    {
        ManagementClass mcProcess = new ManagementClass
        (
             new ManagementScope("\\\\.\\root\\default"),//Заменив точку вы можете указать любой компьютер в вашей сети!
             new ManagementPath(SYSTEM_RESTORE),
             new ObjectGetOptions()
        );

        ManagementBaseObject mbObjectInput = mcProcess.GetMethodParameters(CREATE_SYSTEM_RESTORE_POINT);
        mbObjectInput[SYSTEM_RESTORE_POINT_DESCRIPTION] = string.Format("Restore point created from C# at {0}", DateTime.Now);
        mbObjectInput[SYSTEM_RESTORE_POINT_TYPE] = 0;
        mbObjectInput[SYSTEM_RESTORE_EVENTTYPE] = 100;
        ManagementBaseObject mbObjectOutput = mcProcess.InvokeMethod(CREATE_SYSTEM_RESTORE_POINT, mbObjectInput, null);
        isCreated = (mbObjectInput == null) ? !isCreated : isCreated;
    }
    catch (ManagementException me)
    {
        //handle the error.
        isCreated = !isCreated;
    }
    return isCreated;
}
Результат:

Дополнительную информацию вы можете посмотреть тут.


Комментариев нет:

Отправить комментарий

Большая просьба, не писать в комментариях всякую ерунду не по теме!