2011-09-11 4 views
5

MakeSymbolicLink コマンドを実行する前に、ユーザーに自分の特権を表示し、そのユーザーに特権を昇格させる(または他の人に手を加える)能力を与えたいとします。windows 7ユーザーの特権とセキュリティのレビュー

同等のコマンドラインコマンド(mklink)では、権限の昇格が必要です。 私は、ユーザに厚いディレクトリの次の機能的なショートカットをたくさん与えたいと思っています。 リンクはディスクとリモートファイルシステムにまたがります。

ログインしている間、特定のユーザのセキュリティ設定の秘密を調べるためのプログラム的な(c#またはC++)正規の方法はありますか?

+1

人があなたを助けてくれることを期待する前に、あなたの質問にいくつか答えを受け入れたいかもしれませんが、良い質問です。 – Tim

+0

可能な複製[.NETのファイルに対してアクセスが拒否されているかどうかを簡単に確認できますか?](http://stackoverflow.com/questions/265953/how-can-you-easily-check-if-access-is -den-for-a-file-in-net) –

+0

GetNamedSecurityInfoを呼び出すには、呼び出しプロセスに対してSE_SECURITY_NAME権限を有効にする必要があります。 SE_BACKUP_NAMEとSE_RESTORE_NAMEはおそらくGetFileSecurityでOKです。しかし、あなたがそれらの特権を呼び出すと、おそらくあなたは対処するためのアクセス拒否の問題を持っていないでしょう。最小限の特権アカウントで実行する予定の場合は、どのファイル/フォルダに対してどのアクセス許可が拒否されているか、どのような措置がとられているかをユーザーに知らせることができます。 –

答えて

0

WMIを使用して、Win32_LogicalFileSecuritySettingまたはその他のいくつかのテーブルにアクセスし、UNCまたはローカルファイルパスの場所に基づいてアクセス許可を列挙できます。

C#のSystem.DirectoryServices名前空間でも、特定のユーザーのアクセス許可を列挙できます。

だから、いくつかのchiocesがあります。

0

あなたが探しているもののC++の実装は、次のCodeProjectの記事で見つけることができます:Riding the Vista UAC elevator, up and down。現在の標高レベルを取得しやすくし、別の標高レベルで新しいプロセスを作成します。 Windows 7でもうまくいきます。

+0

が調査されます。 C#を使用していますが、私は推測できます。 –

関連する問題