C#

復元ポイントを作成する

下記から手動で作成できる復元ポイントをプログラムから作成する。

コントロールパネル

└システム

 └システムの保護

image


参照を追加。


C#

System.Management


復元ポイントの作成。


C#

var obj = new System.Management.ManagementClass(@"root\default:SystemRestore");

obj.InvokeMethod("CreateRestorePoint", new object[] {"さんぷる", 0, 100});


第一引数

画面に表示する文字列



第二引数

0:APPLICATION_INSTALL

1:APPLICATION_UNINSTALL
10:DEVICE_DRIVER_INSTALL
12:MODIFY_SETTINGS
13:CANCELLED_OPERATION


第三引数

102:BEGIN_NESTED_SYSTEM_CHANGE

100:BEGIN_SYSTEM_CHANGE
103:END_NESTED_SYSTEM_CHANGE
101:END_SYSTEM_CHANGE

CreateRestorePointの詳細についてはこちらを参照


追記 2018年5月8日

上記のサンプルだとWin10 Fall Updateで動作しないことが判明。

なぜか、Sprint 2018 Updateだと動いた。


C#

var obj = new System.Management.ManagementClass(@"root\default:SystemRestore");

obj.InvokeMethod("CreateRestorePoint", new object[] {"さんぷる", 7, 100});

上記のように引数を「0」から「7」に変更するとWin10 Fall Updateでも動作した。

Win7でも動作確認済み。

けれども、復元ポイントの一覧で説明が「さんぷる」とならずに「自動復元ポイント」となってしまう。

なんでやorz

そもそもリファレンスに「7」なんて引数は載ってないのだけども。