質問

私はServiceController.getServices()メソッドを使用してすべてのサービスのリストを取得しようとしています。コンソールアプリケーションでは、OKは動作しますが、Windowsサービスでこのメソッドを呼び出すと、空のリストが表示されます。それは認証の問題のようですが、私はすべてのアカウントオプション(ローカルシステム、ローカルサービス、ネットワークサービス、ユーザー[ローカル管理])、運ずれていました。

提案はありますか?

ありがとう

役に立ちましたか?

解決

合意された、これはユーザーアカウント特権の問題である必要があります。列挙は、ネイティブOpenScManager()API関数を呼び出すことによって開始される必要があります。これは非常に特権的な関数であり、SDKドキュメントは管理者アクセスが必要であることに注意してください。サービスを設定して管理者ログインを与える必要があります。あなたがすでにこれを試してみるように聞こえます。UACについて少し心配して、ServerFault.comでそれについてもっと質問し、セキュリティ専門家の家を推定しました。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top