ОС: Server 2012 Core и Server 2012 R2 Core. DFS-Replication установлена и работает нормально.
Я использую WMI для сбора информации от участников репликации DFSR. Запросы работают на многих компьютерах, но есть пара членов репликации, на которых запросы не работают.
Это класс DfsrReplicatedFolderInfo из пространства имен root \ MicrosoftDFS.
Если я выполню следующую команду Powershell:
Get-WmiObject -Namespace 'root\MicrosoftDFS' -Class DfsrReplicatedFolderInfo
Результат нулевой. Никакой ошибки, но абсолютно никакого вывода.
Если я выполню следующую соответствующую команду wmic:
wmic /namespace:\\root\microsoftdfs path DfsrReplicatedFolderInfo get
он возвращает:
No Instance(s) Available.
Это происходит независимо от того, выполняются ли команды локально или удаленно.
winmgmt /verifyrepository
возвращает:
WMI repository is consistent
С помощью wbemtest
, Я могу просмотреть определение класса DfsrReplicatedFolderInfo, но, похоже, его экземпляров нет.
Другие классы, связанные с DFSR, в том же пространстве имен работают правильно.
Задача решена. DFSR был фактически не здоровый. Это не было проблемой WMI. На сервере произошло грязное завершение работы, и из-за этого DFSR прекратил репликацию.
Перезапуск репликации на затронутом томе с помощью
wmic /namespace:\\root\microsoftdfs path dfsrVolumeConfig where volumeGuid="DC8EEE19-97E2-4E26-8AAD-CF1235B8DCCC" call ResumeReplication
Решил проблему.
Затем я снова включил автоматическое восстановление, отредактировав реестр:
HKLM\System\CurrentControlSet\Services\DFSR\Parameters\
StopReplicationOnAutoRecovery = 0
Чтобы этого больше не повторилось в будущем.
Мне действительно неловко, что я вообще не проверил логи более тщательно.