2012-01-22 9 views
0

最近開発したWindowsサービスを実行するための新しいWindowsアカウントをプログラムで作成する必要があります。プログラムでWindowsサービスアカウントを作成する方法

十分な権限がないため、既存のサービスアカウント(LocalService、NetworkService、LocalSystem)を使用できないため、サービスのインストール中に自分のアカウントを作成する必要があります。

残念ながら、私はコード(C#)からこれをどのように達成するかについては考えていません。

  • がサービスとして
  • グラントログオンコンソールからログオンアカウントを拒否アカウントを作成します。しかし、私は私が通過しなければならない手順が含まれていることを知っています。
  • 私のサービスは、インストールとセットアップのWindows XP SP3と至るまで、すべてのWindows PCのオペレーティングシステム上で実行する必要があります

PC上のローカル管理者グループにアカウントを追加します。

質問:この目的で使用できるコマンドラインツールはどれですか(これらのコマンドラインツールはコードから呼び出すことができます)。

関連リンク、コードスニペットまたはスクリプトは、非常に高く評価されます。

+0

「窓を追加する価値があるかもしれません'前に'サービスアカウント 'をタイトルに追加します。 ;) – leonigmig

+0

良い提案、今完了! –

+0

さて、Win32 APIは、[NetUserAdd](http://msdn.microsoft.com/en-us/library/windows/desktop/aa370649%28v=vs.85%29.aspx)(アカウント作成用)と[LsaAddAccountRights](http://msdn.microsoft.com/en-us/library/windows/desktop/ms721786%28v=vs.85%29.aspx)(アカウント特権を付与するため)。管理APIが何であるか分かりませんが、Googleが助けてくれるかもしれません。 – Luke

答えて

0

あなたはちょうどあなたがおそらく行うことができ、単一のコマンドたい場合:私は、過去に「サービスとしての許可ログオン」に見えた、とAから追加の.exeファイルをダウンロードしなければならなかったしかし

net user /ADD "newuser" "Pass phrase" /passwordchg:no

をこれを行うためのWindows Serverリソースパック。それはあなたが.exeを再配布する必要があるので苦痛かもしれません。

誰かが唯一.exesに建て使用し、より良い方法を提案していない限り、私は試してみてのいずれかでこれを行うだろう:

  • PowerShellの
  • VBスクリプト
+0

私はここに深い水の中にいるようです。たぶん私はまったく違ったアプローチを考えなければならないかもしれませんが、本当に私の選択肢は何か分かりません。私が解決しようとしている基本的な問題は、私が数日前に投稿した別の質問(「どのサービスアカウントが適切か」を検索)で説明されています。 –

+0

ルークのコメントから、このようなことをするためのC#APIがあると示唆されていれば、それが最善の策かもしれません。 – leonigmig

関連する問題