【问题标题】:"Filename or extension is too long" error when setting account for Windows service为 Windows 服务设置帐户时出现“文件名或扩展名太长”错误
【发布时间】:2013-07-24 14:19:46
【问题描述】:

我已经用 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”的方式执行此操作,而不为该服务创建常规用户帐户,但我不知道为什么会弹出此错误。提前感谢您的任何提示。

【问题讨论】:

    标签: c# windows-services active-directory windows-server-2012


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 2019-08-19
      • 2012-02-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-10-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多