Поделиться через


Метод Change класса Win32_BaseService

Метод класса ChangeWMI изменяет объект службы, производный от Win32_BaseService. Параметр Win32_LoadOrderGroup представляет группу системных служб, определяющих зависимости выполнения. Службы должны быть инициированы в порядке, указанном в группе заказов загрузки, так как службы зависят друг от друга. Для правильной работы этих зависимых служб требуются предшествующие службы.

В этом разделе используется синтаксис формата управляемого объекта (MOF). Дополнительные сведения об использовании этого метода см. в разделе Вызов метода.

Синтаксис

uint32 Change(
  [in] string  DisplayName,
  [in] string  PathName,
  [in] uint8   ServiceType,
  [in] uint8   ErrorControl,
  [in] string  StartMode,
  [in] boolean DesktopInteract,
  [in] string  StartName,
  [in] string  StartPassword,
  [in] string  LoadOrderGroup,
  [in] string  LoadOrderGroupDependencies[],
  [in] string  ServiceDependencies[]
);

Параметры

DisplayName [in]

Отображаемое имя службы. Максимальная длина этой строки равна 256 символам. Имя является регистром, сохраненным в диспетчере управления службами. Сравнение DisplayName всегда не учитывает регистр.

Ограничения: принимает то же значение, что и параметр Name .

Пример: "Atdisk".

PathName [in]

Полный путь к исполняемому файлу, реализующего службу.

Пример: "\SystemRoot\System32\drivers\afd.sys".

ServiceType [in]

Типы служб, предоставляемых процессам, которые их вызывают.

Драйвер ядра (1)

Драйвер файловой системы (2)

Адаптер (4)

Драйвер распознавателя (8)

Собственный процесс (16)

Процесс предоставления общего доступа (32)

(256)

Интерактивный процесс

ErrorControl [in]

Серьезность ошибки, если эта служба не запускается во время запуска. Значение указывает действие, выполняемое программой запуска в случае сбоя. Система регистрирует все ошибки.

Игнорировать (0)

Пользователь не получает уведомление.

Обычный (1)

Нормальный. Пользователь получает уведомление.

Тяжелый (2)

Система перезапускается с последней хорошей конфигурацией.

Критический (3)

Попытка перезапустить систему в рабочей конфигурации.

StartMode [in]

Режим запуска базовой службы Windows.

Начальная загрузка ("Загрузка")

Драйвер устройства, запускаемого загрузчиком операционной системы.

System Start ("System")

Драйвер устройства, запущенный процессом инициализации операционной системы. Это значение допустимо только для служб драйверов.

Автозапуск ("Автоматически")

Служба, автоматически запускаемая диспетчером управления службами во время запуска системы.

Demand Start ("Manual")

Служба, запускаемая диспетчером управления службой, когда процесс вызывает метод StartService .

Disabled ("Disabled")

Служба, которая не может быть запущена.

DesktopInteract [in]

Если задано значение True, служба может создавать окно на рабочем столе или взаимодействовать с ним.

StartName [in]

Имя учетной записи, под которой выполняется служба, которое зависит от типа службы. Имя учетной записи может иметь вид DomainName\Username или .\Username. При запуске процесс службы регистрируется с помощью одной из двух предыдущих форм. Если учетная запись принадлежит встроенному домену, можно указать .\Username. Если указана пустая строка, служба входит в систему под учетной записью LocalSystem. Для драйверов уровня ядра или системы StartName содержит имя объекта драйвера, например \FileSystem\Rdr или \Driver\Xns, которое система ввода-вывода использует для загрузки драйвера устройства. Если задано значение NULL, драйвер запускается с именем объекта по умолчанию, которое система ввода-вывода создает на основе имени службы, например DWDOM\Администратор.

Вы также можете использовать формат имени участника-пользователя (UPN), чтобы указать startName, например , Username@DomainName.

StartPassword [in]

Пароль для имени учетной записи, указанного параметром StartName . Если пароль не изменен, укажите ЗНАЧЕНИЕ NULL . Укажите пустую строку, если у службы нет пароля.

Примечание

При изменении службы с локальной системы на сеть или из сети в локальную систему Параметр StartPassword должен быть пустой строкой (""), а не null.

LoadOrderGroup [in]

Имя группы, с которым она связана. Группы порядка загрузки содержатся в системном реестре и определяют последовательность загрузки служб в операционную систему. Если указатель имеет значение NULL или указывает на пустую строку, служба не принадлежит к группе. Зависимости между группами должны быть перечислены в параметре LoadOrderGroupDependencies . Сначала запускаются службы в списке групп упорядочения нагрузки, за ними следуют службы в группах, не входящих в список групп упорядочения нагрузки, а затем службы, которые не принадлежат к группе. Системный реестр содержит список групп упорядочения нагрузки, расположенный в HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\ServiceGroupOrder.

LoadOrderGroupDependencies [in]

Список групп упорядочения нагрузки, которые должны быть запущены перед запуском этой службы. Массив вдвойне завершается null. Если указатель имеет значение NULL или указывает на пустую строку, у службы нет зависимостей. Имена групп должны иметь префикс символа SC_GROUP_IDENTIFIER (определенного в файле Winsvc.h), чтобы отличать их от имен служб, так как службы и группы служб используют одно и то же пространство имен. Зависимость от группы означает, что эта служба может запускаться, если после попытки запуска всех членов группы запущен хотя бы один из участников группы.

ServiceDependencies [in]

Список, содержащий имена служб, которые должны быть запущены перед запуском этой службы. Массив вдвойне завершается null. Если указатель имеет значение NULL или указывает на пустую строку, служба не имеет зависимостей. Зависимость от службы означает, что эта служба может выполняться только в том случае, если запущена служба, от которую она зависит.

Возвращаемое значение

Возвращает одно из значений, перечисленных в следующем списке, или другое значение, указывающее на ошибку.

Успешно

0

Запрос принят.

Не поддерживается

1

Запрос не поддерживается.

доступ запрещен

2

У пользователя нет необходимых прав доступа.

Запущенные зависимые службы

3

Службу нельзя остановить, так как от нее зависят другие работающие службы.

Недопустимый элемент управления службой

4

Запрошенный код элемента управления недопустим или недопустим для службы.

Служба не может принимать управление

5

Запрошенный код элемента управления не может быть отправлен в службу, так как свойство State в объекте Win32_BaseService равно 0, 1 или 2.

Служба не активна

6

Служба не запущена.

Время ожидания запроса на обслуживание

7

Служба не отвечает на запрос на запуск быстро.

Неизвестный сбой

8

Интерактивный процесс.

Путь не найден

9

Путь к каталогу к исполняемому файлу службы не найден.

Служба уже запущена

10

Служба уже запущена.

База данных службы заблокирована

11

База данных для добавления новой службы заблокирована.

Удалена зависимость службы

12

Зависимость, от которой зависит эта служба, удаляется из системы.

Сбой зависимости службы

13

Служба не находит необходимую службу из зависимой службы.

Служба отключена

14

Служба отключена в системе.

Сбой входа в службу

15

Эта служба не поддерживает проверку подлинности, необходимую для работы в системе.

Служба помечена для удаления

16

Эта служба удаляется из системы.

Поток без службы

17

Отсутствует поток исполнения для этой службы.

Циклическая зависимость состояния

18

При запуске службы обнаружены циклические зависимости.

Повторяющееся имя состояния

19

Служба с таким именем уже запущена.

Недопустимое имя состояния

20

В имени службы есть недопустимые символы.

Недопустимый параметр status

21

Службе переданы недопустимые параметры.

Состояние недопустимой учетной записи службы

22

Учетная запись для запуска этой службы недопустимая или не имеет разрешений на запуск службы.

Служба состояния существует

23

Служба существует в базе данных доступных в системе служб.

Служба уже приостановлена

24

Служба в данный момент приостановлена в системе.

Другое

25 4294967295

Комментарии

Чтобы изменить службу из сети в локальную систему, используйте следующие значения для параметров StartName и StartPassword :

StartName = "LocalSystem"
StartPassword = "" // - empty string, not NULL

Чтобы изменить службу из локальной системы в сеть, используйте следующие значения для параметров StartName и StartPassword :

StartName = "NT AUTHORITY\NetworkService"
StartPassword = "" // - empty string, not NULL

Требования

Требование Значение
Минимальная версия клиента
Windows Vista
Минимальная версия сервера
Windows Server 2008
Пространство имен
Root\CIMV2
Заголовок
Mbnapi.h
MOF
CIMWin32.mof
DLL
CIMWin32.dll

См. также раздел

Классы операционной системы

Win32_BaseService