【问题标题】:Configuring windows services using name wildcard使用名称通配符配置 Windows 服务
【发布时间】:2012-02-02 21:29:46
【问题描述】:

需要帮助,

我需要使用一个带有通配符的命令来更改 Windows 服务的“启动类型”状态。我需要一个命令来更改名称为 Citrix* 的所有服务的启动类型。

我已经在使用以下命令来停止服务:

wmic service where "displayname like 'Citrix%'" call StopService

但我找不到任何使用通配符从命令行配置服务的东西。

【问题讨论】:

  • 有一个 SET 命令,但我应该将什么作为对象传递? wmic service where "displayname like 'Citrix%'" SET ??>

标签: windows service wmi system


【解决方案1】:

wmic service set /?可写属性不适用于此别名或类。

要设置 Windows 服务的 启动模式 属性,请调用 ChangeStartMode method of the Win32_Service classStartMode 参数的可能值:

  • 启动启动 (Boot)。 由操作系统加载程序启动的设备驱动程序。此值仅对驱动程序服务有效。
  • 系统 (System)。 由操作系统初始化进程启动的设备驱动程序。此值仅对驱动程序服务有效。
  • 自动启动 (Automatic)。 服务将在系统启动期间由服务控制管理器自动启动。
  • 需求启动 (Manual)。 服务控制管理器在进程调用 StartService 方法时启动的服务。
  • 已禁用 (Disabled)。 无法再启动的服务。
==> wmic service call ChangeStartMode /?
Call                    [ In/Out ]Params&type                   Status
====                    =====================                   ======
ChangeStartMode         [IN ]StartMode(STRING)                  (null)

示例(在打开的提升的cmd 提示符下运行):

wmic service where "displayname like 'Citrix%'" call ChangeStartMode "Manual"

分别检查每个服务的返回值(注意以下示例中的另一个 where 子句):

C:\WINDOWS\system32> wmic service where "name like 'Xbl%'" call ChangeStartMode "Manual"
Executing (\\PC\ROOT\CIMV2:Win32_Service.Name="XblAuthManager")->ChangeStartMode()
Method execution successful.
Out Parameters:
instance of __PARAMETERS
{
        ReturnValue = 0;
};

Executing (\\PC\ROOT\CIMV2:Win32_Service.Name="XblGameSave")->ChangeStartMode()
Method execution successful.
Out Parameters:
instance of __PARAMETERS
{
        ReturnValue = 0;
};

C:\WINDOWS\system32>

【讨论】:

    猜你喜欢
    • 2019-01-27
    • 1970-01-01
    • 1970-01-01
    • 2020-02-18
    • 2019-05-30
    • 2012-01-28
    • 2021-01-05
    • 1970-01-01
    • 2012-12-01
    相关资源
    最近更新 更多