0

私はウェブでたくさん検索しましたが、助けが見つかりませんでした。私は独自の Windows サービスを持っていますが、メインのソフトウェアから構成できるはずです。

インストール、開始、停止、変更、アンインストールに問題はありません。他のユーザー資格情報を使用してサービスをインストールすることもできます。

しかし、問題があります。サービスをインストールする前に ("cmd" call sc create SERVICENAME [...] ) 入力した資格情報を持つユーザーがサービスを開始できるかどうかを確認したい。そのため、彼がローカルの「サービスとしてログオン」セキュリティ ポリシーに登録されているかどうかを確認する必要があります。ポリシーを変更したくありませ。彼がこれを行うことが許可されているかどうかを確認したいだけです。

このチェックをC#で簡単に行うことはできますか?

4

1 に答える 1

2

「サービスとしてログオン」は、Advapi32.dll から取得できる LOGON32_LOGON_SERVICE のログイン タイプのようです。私が最初に見つけたもの (最も役立つかもしれません) は、ユーザーとしてログオンしようとするLogonUser 関数であるため、ユーザーの LOGON32_LOGON_SERVICE としてのログオンが失敗または成功した場合の検出として使用できる可能性があります。

以下は、コア サーバー機能の完全なリストです。リストされているものの中には有望に見えるものもありますが、AuditQuerySystemPolicy などの試行錯誤が必要になる場合があります。頑張ってください!

于 2016-02-18T14:12:18.063 に答える