В нашей инфраструктуре AD SYSVOL реплицируется с помощью DFSR. Я хочу принудительно выполнить репликацию с помощью WMI (ForceReplication метод) через WMIC:
wmic /namespace:\\root\microsoftdfs path DfsrConnectionInfo call ForceReplication(15,10,2)
Но это не удается:
Executing (DfsrConnectionInfo)->ForceReplication()
ERROR:
Description = Invalid method Parameter(s)
Я дважды проверил порядок / тип аргумента:
wmic /namespace:\\root\microsoftdfs path DfsrConnectionInfo call ForceReplication /?
Call [ In/Out ]Params&type Status
==== ===================== ======
ForceReplication [IN ]Bandwidth(uint32) Implemented
[IN ]DurationInMin(uint32)
[IN ]Mode(uint32)
[OUT]ReturnValue(uint32)
Тот же вызов в Powershell работает:
(gwmi -Namespace root\microsoftdfs -Class DfsrConnectionInfo).ForceReplication(2, 10, 15)
Где я ошибаюсь с WMIC и аргументами?
Интересно, это ошибка, потому что она не работала, даже когда я использовал именованный параметр для вызова метода:
path DfsrConnectionInfo call ForceReplication Bandwidth=10 DurationInMin=20 Mode=2
Приведенная выше команда возвращает:
Неверный список именованных параметров.
Подсказка: :: = | где :: = =
wmic: root \ microsoftdfs> путь DfsrConnectionInfo call ForceReplication Bandwidth = 10 DurationInMin = 20 Mode = 2
Выполнить (DfsrConnectionInfo) -> ForceReplication () (Y / N)? Y
ОШИБКА:
Описание = Недействительный параметр метода (ов)
Первый аргумент. 15 недействителен. То, что работает, меня не удивляет. Причина в том, что первый параметр находится в диапазоне от 1 до 4 (включительно). Это отличается от первого кода wmic, который вы показываете:
wmic /namespace:\\root\microsoftdfs path DfsrConnectionInfo call ForceReplication(15,10,2)
Первое значение в круглых скобках 15 недопустимо. Это должно быть 1, 2, 3 или 4. Подробную информацию об этом вы можете найти в этом документе Microsoft. статья.