Столкнулся с неожиданными трудностями при удаленных подключениях к Windows по WMI. Постоянно получал "ОШИБКА. Описание: Отказано в доступе. Код ошибки: 80070005" При этом все учетные данные, настройки firewall и т.д. были на 100% верны. Где-то сразу все работало, как надо, а где-то ни в какую не получалось удаленно подключиться к Windows 10 по WMI.
На углубленном курсе "Архитектура современных компьютерных сетей" вы с нуля научитесь работать с Wireshark и «под микроскопом» изучите работу сетевых протоколов. На протяжении курса надо будет выполнить более пятидесяти лабораторных работ в Wireshark.
Реклама ИП Скоромнов Д.А. ИНН 331403723315
Введение
WMI - Windows Management Instrumentation, инструмент для управления Windows. В том числе поддерживает удаленную работу. С его помощью, к примеру, удобно мониторить Windows системы. Так как WMI встроен в саму систему, нет необходимости ставить что-то дополнительно. Базовые метрики можно собирать сразу же.
Для работы по WMI используется свой язык запросов WMI Query Language (WQL), который немного похож на SQL, так как является его разновидностью. Пример работы с WMI можно посмотреть прямо в командной строке Windows:
wmic computersystem get totalphysicalmemory
Вы получите информацию в байтах о доступной оперативной памяти компьютера.
Ошибка WMI 80070005 Отказано в доступе
Запросы по WMI можно делать по сети. Выглядит это примерно следующим образом:
wmic /user:"win10-kvm\zerox" /node:"10.20.1.53" computersystem get totalphysicalmemory
win10-kvm\zerox | учетная запись на целевом компьютере в формате домен или имя компьютера и сам пользователь |
10.20.1.53 | адрес компьютера в виде ip или имени |
Очень часто вы можете получить вот такую ошибку при запросе WMI по сети. Далее рассказываю, как ее продиагностировать и исправить.
Разрешение удаленных вызовов по WMI
Первым делом вам надо локально убедиться, что WMI в принципе работает. Выше я уже показал пример с оперативной памятью. Так что прежде чем настраивать удаленные запросы, проверьте, работает ли все локально.
Далее необходимо проверить, какой тип сетевого соединения у вас установлен. Если общедоступная сеть, то WMI удаленно работать не будет, даже если вы настроите или отключите фаервол.
Вам необходимо сменить тип сети на Частная. Для этого идем в Параметры -> Сеть и Интернет -> Состояние. Открываем свойства сетевого соединения.
Выбираете сетевой профиль - Частные.
Должно получиться в итоге вот так:
В разных версиях Windows 10 изменение типа сети с общедоступной на частную выглядит по-разному. Даже сейчас, проверяя статью, я в двух разных системах вижу 2 разных способа. Пункты меню в Параметрах постоянно меняются. Каждый раз как Коломбо вынужден искать новое расположение старых настроек. Ума не приложу, зачем Microsoft это делает. Вот так меняется тип сети в одной из других версий:
После того, как изменили профиль сети на частный, открывайте командную строку с правами администратора и выполните в ней команду:
winrm quickconfig
На все заданные вопросы отвечайте положительно. Если до этого тип сети не изменили, то данная команда отработает с ошибкой: Исключение брандмауэра WinRM не будет работать, поскольку одно из сетевых подключений, установленных для этого компьютера, является общим. Измените тип сетевого подключения либо на доменное, либо на частное и повторите попытку.
Что делать в этом случае, вы знаете. Если все прошло успешно, то теперь удаленный вызов WMI завершится удачно:
wmic /user:"win10-kvm\user" /node:"10.20.1.53" computersystem get totalphysicalmemory
Заключение
На этом все по удаленному запуску команд WMI и возможных ошибок в этом деле. Во время отладки имеет смысл смотреть журнал безопасности Windows. Если вдруг вы перепутаете учетную запись системы, в логе четко будет видно, что авторизация не проходит. Если же по логу видно, что авторизация верна, а WMI удаленно не отрабатывает, значит проблемы именно с ним.
На углубленном курсе "Архитектура современных компьютерных сетей" вы с нуля научитесь работать с Wireshark и «под микроскопом» изучите работу сетевых протоколов. На протяжении курса надо будет выполнить более пятидесяти лабораторных работ в Wireshark.
Реклама ИП Скоромнов Д.А. ИНН 331403723315
Добрый день! Может, подскажете по WMI?
Бьюсь третий день, пока результата нет.
На нескольких серверах не работают команды wmic, причем, только локально
выглядит это так:
C:\Windows\system32>wmic computersystem get totalphysicalmemory
ОШИБКА.
Описание: Ошибка.
Причем, если к нему же обратиться по сети, все ок
PS C:\Users\Rmg> wmic /user:"usk\welk" /node:"srv14" computersystem get totalphysicalmemory
Введите пароль:********
TotalPhysicalMemory
4293910528
Все что нашел про восстановление репозиториев и перерегистрацию библиотек проделал безуспешно. VMIDiag прогонял, сравнивал с рабочей системой, криминала не нашел. Подозреваю что-то с правами или связкой с DCOM, но пока не докопался, может встречалось похожее? Причем, таких серверов обнаружилось несколько как 2012 так и 2016. Как-то не нужно было и не знал что есть проблема а теперь вот вылезла внезапно.
Сам себе и отвечаю, проблема локализована, как найду решение, отпишусь, пока сделал костыль :)
В неинтерактивном режиме winrm можно настроить вот так: https://ru.stackoverflow.com/a/949971/191416
Спасибо за статью. Помогла с доступом к 10ке.
В дополнение к Вашей статье - Вариант управления компьютером на Windows из-под консоли Linux https://habr.com/ru/post/181103/
Владимир, наткнулся на твой сайт случайно, при поиске информации про CentOS,
вопрос не относится к теме, но все же задам его тебе.
Более 10 лет проработал в тех поддержке, грубо говоря эникейщиком, но теперь наконец то твердо для себя решил освоить системное администрирование.
Сейчас полно курсов, где ребята обещают сделать из тебя девопса за год, но я к этому отношусь скептически.
вопроса по сути два:
1) не поздно ли начинать в 35 лет?
2) с чего начать? с никсов или изучения сетевого оборудования?
По курсам у меня есть заметка - https://serveradmin.ru/kursy-po-it-lichnaya-rekomendacziya/
А вот еще одна на тему подхода к обучению - https://t.me/srv_admin/651
Там будут ответы на твои вопросы. Начать надо с того, что определиться, что тебе ближе и чем ты хочешь заниматься. От этого уже и плясать. А так, все возможно, если ты реально хочешь развиваться. 35 лет это еще не возраст, когда можно ставить на себе крест. Такого возраста вообще не существует. Все зависит от настроя и целеполагания.
Мне даже немного смешно читать, про 35 лет :) Это же возраст с максимальными возможностями, когда человек знает, что хочет и умеет трудиться. В этом возрасте все по плечу. Мне самому 36 и я чем только не занимаюсь. Постоянно учусь, осваиваю новое - воспитание детей, стройка, IT, блогерство и т.д.
Владимир, здравствуйте!
А командлет Enable-PSRemoting для этих же целей не подойдёт? Я у себя в доменной среде им время от времени пользуюсь, но вне домена применять не доводилось.
Даже не знаю, не слышал о нем. Надо будет проверить.
Отпишитесь потом, если не затруднит:)