-3

管理者から、インストール後にアプリケーションでシステムのシステムの復元を無効にする必要があるという要件があります。これを実現するために、以下のコードを見つけて実装しました。コードはXPとVistaで問題なく動作しますが、Win7では同じようには動作していないようです。

public void disableSystemRestore(string drive)
{
    try
    {
        ManagementScope scope = new ManagementScope("\\\\localhost\\root\\default");
        ManagementPath path = new ManagementPath("SystemRestore");
        ObjectGetOptions options = new ObjectGetOptions();
        ManagementClass process = new ManagementClass(scope, path, options);
        ManagementBaseObject inParams = process.GetMethodParameters("Disable");
        inParams["Drive"] =  drive;
        ManagementBaseObject outParams = process.InvokeMethod("Disable", inParams, null);
    }
    catch(ManagementException err)
    {
        MessageBox.Show("An error occurred while trying to execute the WMI method: " + err.Message);
    }
}

問題は、Win7ではシステムの復元がシステム保護にラップされていることです。システム保護には、ハードドライブごとに3つのオプションがあります。

1)システムの復元とファイルバージョン

2)ファイルバージョンのみ

3)なし

この設定を手動で変更したことがない限り、コードは問題なく機能します。ただし、ユーザーが以前にこの設定を変更した場合、コードはOption3ではなくOption2を設定します。どうすればこれを修正できますか?

さらに、Option2が正確に何をするのかについての適切な説明を見つけることができません。これで実際にカバーされているファイルについてさまざまな説明を見てきましたが、あちこちのスレッドについてコメントしているだけです。それが何をするのか、それがどのように機能するのかについての本当の「良い」説明はありません。

編集:私がこれを行う必要がある「なぜ」について多くの懸念があり、私は完全に理解し、別の方法を見つけるために戦ったと信じています。しかし、それは実現可能ではありませんでした。うまくいけばあなたの心を安心させるためのいくつかのより多くの情報。

この製品は個人使用を目的としたものではありません。これは、ロックダウンされたシステムで企業レベルで使用されます。この要件は、業界の規制と標準に基づいています。医療カードやクレジットカードを考えてみてください。保護されているのは、「私たちの」ログ、システムアクセスログ、システム使用ログ、ファイル監査ログだけではありません。したがって、システムの復元が無効になっている場合でも、他の手段を使用して古いバージョンのログを復元できますが、システムレベルのログにはファイルアクセスとアクセス者が記録されるため、少なくともログの改ざんが発生したことがわかります。基本的に、OSを使用してログを監査ログに記録します。復元ポイントは、1つの簡単なステップでそれらすべてをリセットします。

このアプリを管理者権限でインストールすることは、ユーザーに課せられた要件です。現在、サイトが業界認定を維持できるように、ユーザーは実際にこの手順を手動で実行する必要があります。インストールプロセスを単純化しようとしているだけです。サイト管理者はこの要件を認識しています。インストールプロセスを簡素化するために私が実装しているこのような「システム管理者」の変更は他にもたくさんあります。

4

1 に答える 1

0

これはあなたの質問に対する直接的な回答ではありませんが、コメントするには長すぎました。

これは、社内ソフトウェアにとって完全に不合理な要求ではありませんが、商用ソフトウェアにとっては恐ろしい考えです。

この計画には少なくとも 6 つの問題点があり、頭のてっぺんから見ることができます。気軽にこのリストを経営陣に戻して、別の指示を得ることができるかどうかを確認してください。

  1. これは、ユーザー/個人用ソフトウェアではなく、企業向けソフトウェアのように聞こえます。多くの企業では、システムの復元を無効にすることを不可能にするか、自動的に再有効化する Active Directory ポリシーを導入しています。

  2. 通常の企業ユーザーには権限がないため、システム管理者のみがこれをインストールできます。 そのため、インストールを行っているシステム管理者がインストール後にシステムの復元を再度有効にすることを妨げるものは何もありません。(通常のユーザーが自分でインストールできる場合は、再度有効にする権限も与えられます)

  3. インストール中にシステム保護を無効にしようとするものはすべて、ウイルス保護によって悪意のあるソフトウェアとしてフラグが立てられる可能性があります。これにより、これが機能しなくなったり、ソフトウェアが完全に無効になったりする可能性があります。また、システム管理者が推奨しないようにする場合もあります。

  4. システムの復元を無効にしても、誰かが手動でログを削除するのを防ぐことはできません。

  5. この計画については、他のバックアップ ソリューション (SecondCopy や別のネットワーク バックアップなど) による「古い」ログの復元を妨げるものは何もありません。 実際、悪意のあるユーザーが単純に古いログをコピーし、好きなことをして、古いログを置き換えることを妨げるものは何もありません。

  6. それがインストールされているシステム上のデータが失われた場合会社は責任を負う可能性があります。(IANAL. 利用規約を作成する際には、弁護士がこれと潜在的な影響を認識していることを確認してください。)


要するに、それはあなたが望むことをしないでしょう。

于 2013-01-07T18:48:19.750 に答える