0

我在 C# 中创建了一个 Windows 服务应用程序。我正在尝试使用 Windows Server 2012 上的“托管服务帐户”运行服务。问题是,我无法设置服务应该运行的帐户。当我设置服务的属性时,我收到一个错误“文件名或扩展名太长”。谷歌搜索没有一点帮助,似乎没有其他人遇到过这种问题。

以下是我所做的一些细节:

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。它发现没问题,但是当我尝试单击“确定”时,它告诉我输入有效密码。现在 AFAIK 托管服务帐户的密码应该为空,所以我删除它,然后按 OK 给我这个无意义的错误“文件名或扩展名太长”。

5)我还在管理工具->本地安全策略->本地策略->用户权限分配->作为服务登录中添加了这个帐户,但结果是一样的。

我想以“Windows Server 2012”的方式执行此操作,而无需为该服务创建常规用户帐户,但我不知道为什么会弹出此错误。提前感谢您的任何提示。

4

1 回答 1

0

好的,我通过创建另一个名称更短的帐户来解决它...看起来像一个 AD 错误,但如果遇到同样的问题,也许有人会发现它很有帮助。

于 2013-07-25T08:36:58.980 回答