【问题标题】:Windows services not visible remotely远程看不到 Windows 服务
【发布时间】:2018-08-14 16:49:42
【问题描述】:

我正在努力弄清楚发生了什么,但它对我正在使用的系统产生了相当广泛的影响。

我有几台机器在运行一项服务,但是当我尝试查询该服务(在 .net 和 powershell 中)时,找不到该服务。当我通过 RDP 连接到机器时,服务就会出现。我已经确认我拥有该服务的权限,包括使用 subinacl 为我的用户授予该服务的显式权限。

我确实从 get-service -computername $server 返回了一个结果,但它没有列出我正在寻找的服务。我在这里缺少组策略或 Windows 配置吗?为什么有些服务会远程显示而不是全部显示?

任何关于寻找什么的提示/建议将不胜感激。

编辑:使用此命令:

get-Service -computername $servername | Export-Csv C:\temp\Local.csv -notypeinformation

在机器上产生以下文件: https://drive.google.com/open?id=1aXvIgWT4NU2EN4j14JlxrY-jHGp-hG2Q

对机器远程运行相同的命令会产生以下文件: https://drive.google.com/open?id=16NvRgrQsSGc9CKlqmIqntLy1bkLMl5tJ

EDIT2:

命令:

Get-Service -Computername $servername -Name 'AdobeARMservice' 

远程运行结果:

Get-Service : Cannot find any service with service name
 'AdobeARMservice'. At line:1 char:1
 + Get-Service -Computername $servername -Name 'AdobeARMservice'
 + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     + CategoryInfo          : ObjectNotFound: (AdobeARMservice:String) [Get-Service], ServiceCommandExcep
     + FullyQualifiedErrorId : NoServiceFoundForGivenName,Microsoft.PowerShell.Commands.GetServiceCommand

本地运行结果:

Status   Name               DisplayName
------   ----               -----------
Running  AdobeARMservice    Adobe Acrobat Update Service

编辑3:

这个问题也可以在微软服务列表中看到。

在本地机器上:

远程时:

【问题讨论】:

  • 您需要提供示例命令和输出(没有人可以看到您的屏幕)。
  • 使用此命令:"get-Service -computername $servername | Export-Csv C:\temp\Local.csv -notypeinformation" 在机器上产生以下文件drive.google.com/open?id=1aXvIgWT4NU2EN4j14JlxrY-jHGp-hG2Q 远程运行相同的命令对机器产生以下文件:drive.google.com/open?id=16NvRgrQsSGc9CKlqmIqntLy1bkLMl5tJ
  • 我无法访问这些链接。请使用只包含重现问题所需的最少代码量的简短示例脚本来更新您的问题。同时发布您收到的确切错误消息(如果有)的文本(不是图片)。
  • 我认为问题在于阻止远程查看特定服务的组策略。一些服务出现,而另一些则没有。我已经使用 Adob​​eARMService 的示例更新了我的 OP(参见编辑 2)
  • 我会检查相关服务的权限。这似乎是一个超级用户/服务器故障问题,而不是一个 stackoverflow 问题。

标签: windows powershell networking service


【解决方案1】:

get-service 的 powershell 文档说:

此 cmdlet 仅当当前用户拥有 允许看到他们。如果此 cmdlet 不显示服务,您 可能无权查看它们。

因此,我假设您的远程用户与本地用户不同。

【讨论】:

  • 我认为每个人都对这门语言有点迷恋。这不是 powershell 的问题,而是 windows 配置的问题。此问题可以在 windows 服务列表以及 powershell 和 .net 代码中看到。见编辑 3(截图)
【解决方案2】:

如果你真的有访问权限,你可以这样做

invoke-command -computername $servername -scriptblock {get-service} | export-csv C:\temp\Local.csv -notypeinformation

【讨论】:

  • 我只是用这个powershell来测试。问题是 .net 代码检查服务状态,如果未显示,则该过程失败。不幸的是,我需要解决这个问题而不是围绕它编写代码。出于好奇,我确实尝试过,但出现权限错误,但我是域管理员。
  • 嗯,权限错误很可能是你的原因。是域上的那台计算机等...
  • 是的,这些机器在同一个域中。当我授予本地管理员权限时,问题就消失了,但鉴于这些是应用服务器,我不能授予本地管理员权限。这就是为什么我要在 AD 中寻找组策略或其他一些执行此操作的项目。我已经授予对我试图为 AD 组访问的服务的完全访问权限,但它仍然没有显示,而我没有授予额外权限的其他服务没有显示。跨度>
  • 更正...本地管理员不修复它...域管理员可以
  • 我想你会在serverfault 上得到更好的帮助,因为他们更适合这个问题。这似乎是我们没有想到的一些普通的服务器配置。
猜你喜欢
  • 2012-12-22
  • 2014-10-05
  • 2010-09-08
  • 1970-01-01
  • 1970-01-01
  • 2013-04-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多