0

C# で Windows サービス アプリケーションを作成しました。Windows Server 2012 で「管理されたサービス アカウント」を使用してサービスを実行しようとしています。問題は、サービスを実行するアカウントを設定できないことです。サービスのプロパティを設定すると、「ファイル名または拡張子が長すぎます」というエラーが表示されます。Google 検索は少し役に立ちませんでした。この種の問題に直面した人は他にないようです。

ここに私がしたことのいくつかの詳細があります:

1) Visual Studio 2012 でサービス アプリケーションを作成しました。サービスは名前空間にあるため、実行可能ファイル名は Name1.Name2.ServiceName.exe のようになります。

2)問題なく実行されると思われるマシンにサービスをインストールしました(installutil.exeを使用)

3) 次のビデオの手順に従って、Active Directory ドメインに「マネージド サービス アカウント」を作成しました: http://www.youtube.com/watch?v=6i4j0O3suNk。つまり、Windows Power Shell の Active Directory モジュールを使用します。Power Shell (管理者として実行) で、次のコマンドを実行する必要がありました。

import-module ActiveDirectory
New-ADServiceAccount -name ServiceAccountName -enable $true
Add-ADComputerServiceAccount -Identity HostName -ServiceAccount ServiceAccountName

HostNameホスト(サービスを実行したい場所)で、私も実行する必要がありました

Install-ADServiceAccount -Identity ServiceAccountName

ここまでは順調に進みました

4) [管理ツール] -> サービスのプロパティの [サービス] の [ログオン] タブで、[このアカウント] を選択し、ServiceAccountName を検索します。大丈夫だと思いますが、[OK] をクリックしようとすると、有効なパスワードを入力するように指示されます。これで、マネージド サービス アカウントのパスワードは空のままにしておく必要があるので、パスワードを消去してから [OK] を押すと、「ファイル名または拡張子が長すぎます」という意味のないエラーが表示されます。

5) このアカウントを [管理ツール] -> [ローカル セキュリティ ポリシー] -> [ローカル ポリシー] -> [ユーザー権利の割り当て] -> [サービスとしてログオン] にも追加しましたが、結果は同じです。

サービスの通常のユーザー アカウントを作成せずに「Windows Server 2012」の方法で実行したいのですが、このエラーが表示される理由がわかりません。ヒントをお寄せいただきありがとうございます。

4

1 に答える 1

0

わかりました、短い名前で別のアカウントを作成することで解決しました... ADのバグのようですが、同じ問題に直面した場合に誰かが役立つかもしれません.

于 2013-07-25T08:36:58.980 に答える