新しいWindowsユーザーのプロファイルをプログラムで作成するにはどうすればよいですか?
Windowsサービスを実行する(ローカル)ユーザーを作成しています。NETWORK SERVICE、LOCAL SERVICE、またはLOCAL SYSTEMを使用したくない理由があります。 経由でユーザーを作成しますnet user foobar "Abcd123!" /add-これは正常に動作します。 この時点でc:\users\foobarは、存在しません。 場合、私は、ユーザーのホームディレクトリを作成し、ユーザーのいずれかのログに(または、それ以上適宜)、またはユーザーが起動するためのものであることをサービスする前に、Windowsは隣と呼ばれるユーザー・プロファイルを作成するc:\users\foobar-{gibberish/SID/whatever}-これは、予測可能な名前ではありません。 ユーザーのホームディレクトリには、.sshディレクトリのようなものを含める必要があります.gitconfig。a-そのようなツール(これらのツールに限定されない)は、それを使用する人であると仮定するため、ユーザー設定は内部にあり~/...ます。通常、Unixの遺産からのツール。 実際の質問 だから-ローカルユーザーのユーザープロファイルを作成するようにWindowsに指示するためのプログラム的な(できればPowerShellまたはすぐに使えるコマンドライン)方法はありますか? または、他の回避策はありますか? まだ試したことがないこと: アンNSSMは/ことを、ユーザープロファイルディレクトリに別の場所からファイルをコピーすることを事前にフックを開始うまくいけばのおかげで、この時点で存在しているWindowsのサービスを開始するが、その後、起動前にフックを実行しているラッパーNSSMに渡す制御をユーザー・プロファイルを作成します。 サービスのUSERPROFILE環境変数を実際のユーザープロファイルディレクトリ以外の場所に設定します。これは危険なほどゲレンデから外れているように感じますが、うまくいくかもしれません。 その他のコンテキスト: Windows Server 2016、デスクトップエクスペリエンス。 Core / Nanoは使用できません。 プレイ中のアクティブディレクトリはありません。ありません。 これらはローカルユーザーです。 これは、Windowsの内部でPowerShellを使用しているAnsibleを介して実行しています。具体的には、Ansible 2.7.5のwin_userモジュール。 C:\users\default(に相当する/etc/skel)を作成したくないのは、いくつかの異なるサービスユーザーがいて、1つのサイズではすべてに対応できないためです。これは、ユーザープロファイルが作成されるタイミングにも影響せず、作成されるときにユーザープロファイルに何が含まれるかだけに影響します。 NSSMを使用してサービスを管理しています。 試したこと サービスを開始し、Windowsがディレクトリを作成できるようにする サービスを開始する前に秘密が必要なので、これを行いたくないので、画像ベーキングプロセス内でこれを行う場合、それらをクリーンアップする必要があり、またサービスがしないことを確認する必要がありますベーキング段階での作業。私はそれらの厄介なビットの両方を避けたいです。