问题标签 [servicecontroller]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
.net - .NET 服务检测(如果存在?)
如果这是一个愚蠢的问题,我深表歉意,但我正在学习并且我正在尝试使用我可以使用的所有文档并且我已经相当远了,但是我被困在最后一个领域。
问题
我正在尝试检测服务是否存在/正在运行,并根据结果更改标签以显示状态。- 我已经完成了状态检查,但是我不知道如何检查服务是否真的存在。
我正在使用ServiceController类。
当前子
到目前为止我的工作
我一直在寻找类似Exists
我一直在玩弄字符串之类的东西If service.ServiceName
并If service.
查看所有自动完成选项,但是我看不到任何东西可以检测到服务是否存在。
我考虑过使用该GetServices
方法,将其存储,然后搜索我的服务名称并返回这样的结果?
我也尝试过厚脸皮,只需将以下内容添加到状态检查中
但我意识到这是一种糟糕的做法,不会返回任何值,但我只是想看看它是否会返回任何其他状态。
windows-services - Windows sc.exe 命令:在远程计算机上查询服务时拒绝访问
我正在尝试使用 windows sc 命令查询远程计算机上的服务,但不断收到以下错误[sc] enumqueryservicesstatus openservice failed 5 Access is denied
,任何人都知道我需要在远程计算机上更改什么才能使其正常工作?用户权限?我的远程机器上的每个用户都是管理员。也许一些防火墙阻止?或者某些服务没有运行?
我正在运行以下查询 RemoteRegistry 服务的命令:
谢谢。
c# - 使用 ServiceController 更改服务凭据
有没有办法做到这一点,但不是使用目前在我的环境中不起作用的 WMI,而是使用 ServiceController 类。
谢谢!
c# - 如何检测到有人停止了 Windows 服务?
我有一个有点奇怪的案子要处理...
- 我有 Windows 服务“ A ”。
- “A”被监视“ B ”中的事件。“B”是一个应用程序,如果“A”停止运行,它将重新启动“A”。
- 如果用户从 Windows 中的“服务”应用程序手动关闭“A”,或者使用网络停止在命令提示符下手动关闭“A”,则不应重新启动“A” 。基本上,每当非应用程序(即人类)停止它时,我不希望它重新启动“A”。
这是“B”的一个简单示例:
由于用户将导致服务的状态以与另一个应用程序相同的方式调用停止,有没有办法检测谁实际停止了该特定 Windows 服务?有没有办法检测一个真实的人是否停止了该特定服务?
c# - 使用 Array.Findall 搜索 ServiceController 数组?
我现在再次在 .NET 中编码时生疏了,我试图避免For Each
循环,玩Array.Findall
.
我想获取机器上安装的所有服务的数组,然后传递一个字符串来搜索它的友好显示名称以查找任何匹配项;如果找到,则返回匹配项及其实际服务名称。
即传递字符串“Calibre”,它将在所有服务中搜索显示名称中包含“Calibre”的任何服务。我这样做是一种“模糊搜索”,以防实际服务名称未知,并且如果碰巧有多个与传递的字符串匹配,则不会启动一堆服务/停了下来。
我有:
但得到错误:
“System.ServiceProcess.ServiceController 的一维数组”类型的值无法转换为“String 的一维数组”,因为“System.ServiceProcess.ServiceController”不是从“String”派生的。”
我知道我可能遗漏了一些真正简单的东西,但目前它正在躲避我,哈哈。
c# - 对已停止或具有其他状态的服务应用停止
我正在使用以下函数来停止我的 Windows 服务(超时):
我检查服务的状态。如果不是,ServiceControllerStatus.Stopped
我调用这个函数。我已经测试并且当服务器的状态为Running或Stopped时程序可以工作。但是我想知道当状态为其他状态时会发生什么,例如StopPending,StartPending等。如果我告诉我的服务在状态为上述状态之一时停止,Stop 命令是否仍能完成其工作?
c# - 查找在特定用户下在另一台机器上运行的 Windows 服务
我正在尝试获取在我的网络中的另一台机器上运行的 Windows 服务列表。但是我一直在寻找那些在特定“登录身份”下运行的服务的列表。请建议您是否有任何想法?
我使用 ServiceController 类完成了第一部分。但第二部分我无法实现。代码粘贴在下面:
根据abatishchev,这个问题已经得到解答......但我想要特定于从另一台机器获取详细信息的代码。请建议一个相同的代码。
windows - Windows 服务控制器:查看服务的“sc failure”设置
我想查看sc failure
服务的当前设置。这可能吗?
背景:
我正在使用 Saltstack 为服务设置状态配置。现在,当设置服务时,会运行命令行来设置故障行为,例如:
我希望能够查询传递给的参数的当前值sc failure
,以便 Salt 可以验证是否需要进行任何更改,并在推出新配置时记录值的更改。
从 and 的文档中sc failure
,sc query
我看不到任何支持这一点的东西。
在注册表中,在 处HKLM:\SYSTEM\CurrentControlSet\services\myService\
,有一个键FailureActions
。但我不知道如何读取此键的值以将其与我想要的状态进行比较:
一点实验表明第一个数字对应于reset
参数,但除此之外我不知道如何协调输出的其余部分。
.net - 获取 Windows 服务启动类型?
在System.ServiceProcess
命名空间中,是否有任何类型的枚举或其他直接成员来确定服务的启动类型(自动、延迟自动、按需、禁用)ServiceController
?
这个想法是使用 .NET 框架类库的该命名空间(或其他命名空间)的可用成员来确定该事物,而不是查看操作系统注册表或 WMI 以获取服务的启动类型,因为我可以这样做,我'我只是在询问 .NET 框架是否公开了一种更简单的方法来确定那件事。
用 VB.Net 编写的伪代码,但我也可以管理 C# 方法:
.net - 在经典 ASP 中使用服务控制器
我目前正在尝试查看是否可以ServiceController
在我的经典 ASP 页面中使用,以便该页面可以将自定义命令发送到我的 Windows 服务。我在网上阅读的所有文章和问题都是关于使用 ASP.NET 或其他应用程序/组件的(但遗憾的是,我仅限于使用 Classic ASP)。我的两次尝试都失败了,因为我收到了这个错误:
Microsoft VBScript compilation error '800a0401' Expected end of statement
ServiceController
这是我尝试在我的asp页面上使用的两次尝试:
尝试 #1 预期的语句结尾指向 '('
尝试 #2 预期的语句结尾指向“As”
那么,是否可以在 Classic ASP 中使用 ServiceController?请解释它如何可能或为什么不可能。