Could not write changed password to ad error 0x80070032

After deploying LAPS to OU, many computers getting Event ID: 7
  • Remove From My Forums
  • Question

  • After deploying LAPS to OU, many computers getting Event ID: 7

    Source: AdmPwd

    The computer does not have the necessary permission to write the local administrator password to its object in Active Directory.  Please submit an AD Request to have permissions set on your Department OU.

Answers

  • Hi,

    According to my research, this could be missing the Write permission on ms-MCS-AdmPwdExpirationTime and ms-MCS-AdmPwd attributes of all computer accounts to the SELF built-in account. Please refer to the following steps.

    To make sure computer accounts can update the password and expiration timestamp of its own built-in Administrator password, we need to add the Write permission on ms-MCS-AdmPwdExpirationTime and ms-MCS-AdmPwd attributes of all computer accounts to the SELF
    built-in account. And we can use the following PowerShell to do this:

    Set-AdmPwdComputerSelfPermission –Identity ManagedWorkstations –Verbose

    Best Regards,

    Alvin Wang


    Please remember to mark the replies as answers if they help.
    If you have feedback for TechNet Subscriber Support, contact
    tnmff@microsoft.com.

    • Marked as answer by

      Friday, June 2, 2017 1:30 AM

Lately, I was facing error 7 Could not write changed password to AD. Error 0x80070032. in the Application Log at one of my servers. I’m aware that this critical event is often caused by insufficient rights for LAPS. But in this case, the server was not yet configured with LAPS. The OU where the server was located wasn’t configured for LAPS either. I had NOT run Set-AdmPwdComputerSelfPermission -OrgUnit “servers” yet.

event 7 AdmPwd changed password AD 0x80070032

In this post, I’ll show you the steps on how to fix event 7 AdmPwd for objects that don’t have LAPS installed and configured.

To prevent error 7 Could not write changed password to AD. Error 0x80070032 from occurring approximately every 90 minutes, follow these steps:

  1. Start Active Directory Users and Computers (dsa.msc)
  2. In the main window, first enable Advanced Features
  3. Navigate to the Organizational Unit where the computer object is located
  4. Double-click the Computer Object. Go to tab Security
  5. Click Advanced
  6. Click Add. In the new windows named Permission Entry for <computer name>, click select a principal. Type SELF , click “check names” to validate and click OK
  7. Scroll down to “Write ms-Mcs-AdmPwd” and check the box. Finding this permission can be cumbersome if you have a lot of permissions on the list.
  8. Click OK to save the changes.

That’s it. The computer object now has permission to change its own password.

To validate the changes are effective, you should wait another 90 minutes and search for event 7, source AdmPwd, in the Application Log. You might be able to speed things up by running a group policy update (gpupdate /force), but I didn’t test this out. And since you probably have fixed the error with the above’s steps, you are not going to see error 0x80070032 appear again ;)

If this article did not help you solve your problem, please leave a comment! This website is visited thousands of times a day. There is a good chance that I or someone else has an answer to your question.

In addition, if you have a better solution for this problem, please leave a comment too! It may help me improve this article, as well as you may help other users facing this issue.


Прочитано:
3 114

В виду того факта, что на текущем рабочем месте в качестве домен контроллеров используется серверная операционная система Windows Server 2008 R2 Standard, то мне нужно адаптировать заметку где я в лабораторных условиях разобрал ,как практически развернуть LAPS на Server 2012 R2 Standard. Когда я это делал на Server 2008 R2, то столкнулся с некоторыми нюансами которые по началу были не привычны, но все завершилось успешно.

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

Что имею:

  • ОС: Windows Server 2008 R2 Standard (со всеми обновлениями на момент написания данной заметки)
  • Домен: polygon.local
  • FQDN-имя: srv-dc.polygon.local

Шаг №1: Авторизуюсь на домен контроллере с права учетной записи вхожей в группу «Domain Admins» и для внедрения LAPS понадобится, также быть в группе «Schema Admins»

Шаг №2: Запускаю файл установки (для удобства я его переименовал в lapsx64.msi), установка стандартна, точнее просто устанавливаем все:

  • AdmPwd GPO Extension
  • Management Tools
  • Fat client UI
  • PowerShell module
  • GPO Editor Template

Шаг №3: Расширяем схему, данными действиями будет организовано добавление двух атрибутов к объекту компьютера:

Start — All Programs — Accessories — Windows PowerShell — и через правый клик мышью запускаю консоль PowerShell с правами администратора («Run as administrator»)

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

PS C:Windowssystem32> importmodule AdmPwd.ps

ImportModule : Could not load file or assembly ‘file:///C:Windowssystem32WindowsPowerShellv1.0ModulesAdmPwd.psAdmPwd.PS.dll’ or one of its dependencies. This assembly is built by a runtime newer than the currently loaded runtime and cannot be loaded.

At line:1 char:14

+ importmodule <<<< AdmPwd.ps

+ CategoryInfo : NotSpecified: (:) [ImportModule], BadImageFormatException

+ FullyQualifiedErrorId : System.BadImageFormatException,Microsoft.PowerShell.Commands.ImportModuleCommand

PS C:Windowssystem32> gethost

Name : ConsoleHost

Version : 2.0

InstanceId : 02bd6acbc8fb434d944017a018254760

UI : System.Management.Automation.Internal.Host.InternalHostUserInterface

CurrentCulture : enUS

CurrentUICulture : enUS

PrivateData : Microsoft.PowerShell.ConsoleHost+ConsoleColorProxy

IsRunspacePushed : False

Runspace : System.Management.Automation.Runspaces.LocalRunspace

PS C:Windowssystem32> $PSVersionTable

Name Value

CLRVersion 2.0.50727.8806

BuildVersion 6.1.7601.17514

PSVersion 2.0

WSManStackVersion 2.0

PSCompatibleVersions {1.0, 2.0}

SerializationVersion 1.1.0.1

PSRemotingProtocolVersion 2.1

Дело в том, что в случае данной ошибке выше мне нужно просто обновить PowerShell с текущей 2 версии на 5.1, для этого устанавливаю пакет: Win7AndW2K8R2-KB3191566-x64.msu. Затем перезагружаю систему.

После установка модуля (AdmPwd.ps) в консоли PowerShell происходит без каких либо ошибок:

PS C:Windowssystem32> gethost | findstr /I «Version»

Version : 5.1.14409.1005

PS C:Windowssystem32> importmodule AdmPwd.ps

PS C:Windowssystem32> updateAdmPwdADSchema

Operation DistinguishedName Status

AddSchemaAttribute cn=msMcsAdmPwdExpirationTime,CN=Schema,CN=Configuration,DC=p... Success

AddSchemaAttribute cn=msMcsAdmPwd,CN=Schema,CN=Configuration,DC=polygon,DC=local Success

ModifySchemaClass cn=computer,CN=Schema,CN=Configuration,DC=polygon,DC=local Success

Шаг №4: Настройка LAPS сводится к выполнению следующих шагов в консоли PowerShell:

PS C:Windowssystem32> importmodule AdmPwd.ps

На заметку: Отобразить все OU в домене:

PS C:Windowssystem32> GetADObject Filter { ObjectClass eq ‘organizationalunit’ }

или

Именование OU можно узнать через оснастку «Active Directory - пользователи и компьютеры» — через правый клик на OU "Свойства" - "Редактор атрибутов" - атрибут "distinguishedName" и нажимаем «Просмотр» и копируем именование OU контейнера.

PS C:Windowssystem32> SetAdmPwdComputerSelfPermission OrgUnit MSKTEST

или

PS C:Windowssystem32> SetAdmPwdComputerSelfPermission OrgUnit OU=MSKTEST,DC=polygon,DC=local

Name DistinguishedName Status

MSKTEST OU=MSKTEST,DC=polygon,DC=local Delegated

PS C:Windowssystem32> SetAdmPwdReadPasswordPermission OrgUnit MSKTEST AllowedPrincipals ‘GROUP_LAPS’

Name DistinguishedName Status

MSKTEST OU=MSKTEST,DC=polygon,DC=local Delegated

Проверяю, что реально применились права на доступ группе GROUP_LAPS к просмотру расширенных/добавленных атрибутов компьютеров внутри OU с целью извлечения паролей на учетную запись локального администратора или переименованную если изменяли функционал GPO:

PS C:Windowssystem32> FindAdmPwdExtendedRights identity MSKTEST | formattable ExtendedRightHolders

ExtendedRightHolders

{NT AUTHORITYSYSTEM, POLYGONDomain Admins, POLYGONGROUP_LAPS}

из вывода видно, что доступ к расширенным атрибутам OU=MSKTEST есть у системы, Администраторов домена (по умолчанию) и теперь у группы GROUP_LAPS

Отлично, все настройки по внедрению LAPS проделаны, теперь собственно сама политика которую настраиваю я у себя или один из ее вариантов:

Шаг №5: Копирую файл групповых политик в общее хранилище:

PS C:Windowssystem32> xcopy /Y «C:WindowsPolicyDefinitionsAdmPwd.admx» C:WindowsSYSVOLdomainPoliciesPolicyDefinitions

C:WindowsPolicyDefinitionsAdmPwd.admx

1 File(s) copied

PS C:Windowssystem32> xcopy /Y «c:WindowsPolicyDefinitionsen-USAdmPwd.adml» c:WindowsSYSVOLdomainPoliciesPolicyDefinitionsenUS

C:WindowsPolicyDefinitionsenUSAdmPwd.adml

1 File(s) copied

PS C:Windowssystem32>

Шаг №6: Создаю политику где целью будет установка агента LAPS в зависимости от архитектуры компьютера, а также некоторая доработка:

PS C:Windowssystem32> xcopy /Y «c:softlaps*.msi» C:WindowsSYSVOLsysvolpolygon.localscripts

C:softlapslapsx64.msi

C:softlapslapsx86.msi

2 File(s) copied

Политика именуется у меня, как GPO_MSK_LAPS

Групповая политика LAPS на компьютеры домена

На заметку: Если в Security Filtering Вы конкретно указали группу компьютеров или компьютеры вместо Authenticated Users, то обязательно следует перейти во вкладку Delegation и добавить Authenticated Users и дать права на чтение, в противном случае политика работать не будет. Это очень важно. Почему политика не применяется следует смотреть расширенные логи на компьютере.

Теперь собственно настройки политики которые я использую, вы можете взять их как отправная точка под Ваши задачи:

Computer Configuration — Policies — Windows Settings — Security Settings — Local Policies — Security Options:

  • Accounts: Rename administrator account: отмечаю галочкой Define this policy settings и указываю, как именуется административная учетная запись на компьютере: Администратор
  • Accounts: Administrator account status: отмечаю галочкой Define this policy setting и ставлю статус Enabled.

Computer Configuration — Policies — Preferences — Control Panel Settings — Local Users and Groups

New — Local User

  • Action: Update
  • User name: Administrator (built-in)
  • Password never expires: отмечаю галочкой
  • Account never expires: отмечаю галочкой

New — Local Group

  • Action: Update
  • Group name: Administrators (built-in)
  • Delete all member users: отмечаю галочкой
  • Delete all member groups: отмечаю галочкой

через Add указываю если есть групп(ы/у) делегированных доменных учетных записей которые будут обладать правами администратора на рабочих станциях и добавляю также «Domain Admins»

Добавляю "Администратор домена" в группу "Администраторы" на ПКНе забываем указать установку агента, через Computer — Configuration — Policies — Software Settings — Software installation

  • одна x64-битная установка
  • вторая x86-битная установка с обязательным сниманием галочки «Make this 32-bit x86 application available to Win64 machines.»
    Ниже скриншот для наглядного понимания.

Установка LAPS агента через GPO в зависимости от архитектуры: либо x64, либо x86

Затем в эту же политику добавляю настройки применительно к LAPS. В конечном итоге политика должна выглядеть так: (смотрим вкладку Settings и разворачиваем каждую настройку)

Общий вид настроек политики LAPS

  • По настройке LAPS см. либо документацию, либо мою заметку.
  • Password Settings: Enabled
  • Password Complexity: Large letters + small letters + numbers + specials
  • Password Length: 8
  • Password Age (Days): 30

Т.к. политика применяется только к компьютерам в определенной OU то дополнительно стоит деактивировать нацеливание на пользоваталей:

Group Policy Management — GPO_MSK_LAPS — вкладка Details

  • GRO Status: User configuration settings disabled

На заметку: Настройка Password Length должно быть равно или больше через предопределено в Default Domain Policy.

По итогу применения политики получаем, что в установлен LAPS клиент, активирована локальная учетная запись «Администратор», и группы «Администраторы» удалены все кроме «Администраторы домена», «Делегированные администраторы". А пароль на локальную учетную запись «Администратор» теперь генерируется через LAPS посредством преднастроенной политики, просмотреть его можно только через оснастку LAPS UI определенной группе и конечно же «Администраторам домена» кроме прочего через оснастку LAPS UI и «Active Directory Users and Computer» включением показа расширенных атрибутов.

Проверяю, что после загрузки W7X64 в OU=MSKTEST я могу через PowerShell с домен контроллера извлечь пароль локального администратора:

PS C:Windowssystem32> getadcomputer filter * searchbase «ou=msktest,dc=polygon,dc=local» | getadmpwdpassword Comp

utername {$_.Name}

ComputerName DistinguishedName Password ExpirationTimestamp

W7X64 CN=W7X64,OU=MSKTEST,DC=polygon,DC=local 1/1/0001 12:00:00 AM

Если пароль не отображается, то на ПК нужно сделать:

gpupdate /force и перезагрузиться, если все равно пароль не назначается, то смотрим логи на ПК:

Просмотр событий:

  • Имя журнала: Приложение
  • Источник: AdmPwd
  • Код события: 5
  • Уровень: Ошибка
  • Описание: Validation failed for new local admin password against local password policy. Error 0x80070a90

Решение ошибки: Встроенная учетная запись «Администратор» должна быть включена и у нее должен быть установлен пароль соответствующий требованиям политики Default Domain Policy

Если ошибка:

Просмотр событий:

  • Имя журнала: Приложение
  • Источник: AdmPwd
  • Код события: 7
  • Уровень: Ошибка
  • Описание: Could not write changed password to AD. Error 0x80070032.

Решение ошибки: нет прав на изменение атрибутов добавленных путем расширения схемы.

PS C:Windowssystem32> SetAdmPwdComputerSelfPermission OrgUnit msktest

и после я вижу назначенный пароль:

PS C:Windowssystem32> getadcomputer filter * searchbase «ou=msktest,dc=polygon,dc=local» | getadmpwdpassword Comp

utername {$_.Name}

ComputerName DistinguishedName Password ExpirationTimestamp

W7X64 CN=W7X64,OU=MSKTEST,DC=polygon,DC=local vJDH.3pw 8/3/2019 11:16:57 PM

Или узнать все пароли всех компьютеров для всего домена:

PS C:Windowssystem32> getadcomputer filter * searchbase «DC=polygon,DC=local» | getadmpwdpassword Computername {$_.Name}

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

Итого я адаптировал заметку работы с LAPS на Windows Server 2008 R2 Standard, опираясь на рассмотренные действия я могу внедрять данный функционал и в других организациях. На этом я прощаюсь, с уважением Олло Александр aka ekzorchik.


  • Forums

  • Microsoft Windows Boards

  • Windows Server 2012

You are using an out of date browser. It may not display this or other websites correctly.
You should upgrade or use an alternative browser.

Event ID 7 “Could not write changed password to AD. Error 0x80070032


  • Thread starter

    kate_Admin


  • Start date

    Sep 14, 2018

  • #1

kate_Admin


After deploying LAPS to OU, many computers getting Event ID: 7

Source: AdmPwd

The computer does not have the necessary permission to write the local administrator password to its object in Active Directory. Please submit an AD Request to have permissions set on your Department OU.

Continue reading…

  • Forums

  • Microsoft Windows Boards

  • Windows Server 2012

  • This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.

  • GRAVITSAPA.INFO

  • Windows
  • Устраняем ошибку 0x80070032 в Windows

GRAVITSAPA.info - интересный блог

Устраняем ошибку 0x80070032 в Windows

5058 просмотров
Windows

20 Дек 2020

Что бы устранить ошибку 0x80070032 , попробуйте выполнить следующие процедуры:

  1. Полностью удалите всё из папки C:WindowsSoftwareDistributionDownload и перезагрузите компьютер;
  2. Если первый пункт не помог, то заходим в редактор реестра (Win + R и прописываем regedit), заходим в ветку HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControl -> удаляем в ней папку MiniNT -> перезагружаем компьютер;
  3. Если всё ещё появляется ошибка, то попробуйте проверить включены ли некоторые службы -> нажмите Win + R и введите services.msc -> найдите службы «Планировщик заданий» и «Журнал событий Windows» -> по очереди на каждую нажмите правой кнопкой мыши и клацните «Свойства» -> убедитесь, что «Тип запуска: Автоматически» и запустите, если остановлено -> перезагрузите ПК;
  4. И ещё вариант, который вполне эффективен и против многих других ошибок — воспользоваться утилитой FixWin (ссылка на официальный сайт). Утилита хоть и на английском языке, но интуитивно понятная.

Кроме это есть ещё вариант, как убрать ошибку 0x80070032 (сначала прочтите, потом пробуйте):

  • Откройте папку C:WindowsServiceProfilesLocalServiceAppDataLocalMicrosoftNGC -> удалите всё содержимое;
  • Зайдите в «Настройки» -> «Учётные записи» -> «Варианты входа» -> «Пин-код для Windows Hello» -> добавьте новый ПИН;
  • Так же можно не удалять содержимое папки NGC, попробуйте сначала в настройках удалить ПИН и добавить новый.

Пишите комменты, делитесь статьёй в соц. сетях 😉

Ещё статьи по теме:

  • Как купить правильный лицензионный ключ для Windows 10 на Ebay?
  • Причина ошибок 0х80041004, 0х80041006, 0x80041009
  • Как выключить самопроизвольное изменение яркости на ноутбуке?
  • Исправляем ошибку «…на компьютере отсутствует rtl120.bpl…»
  • Как выбрать редакцию Windows 10 Pro во время чистой установки?

Оставь свой коммент

Обновлено 04.07.2017

Ошибка 0x80070032

Добрый день уважаемые читатели и подписчики блога, продолжаем с вами изучать виртуализацию операционных систем на базе гипервизора Hyper-V. Сегодня я хочу с вами рассмотреть вот такой интересный вопрос, почему при миграции виртуальной машины между хостами Hyper-V у вас появляется ошибка 0x80070032. Ее я видел первый раз в жизни, так как до этого все проходило как по маслу.

Итак, расскажу небольшую предысторию, есть два сервера с Hyper-V ролью, один на Windows Server 2012 R2, а второй на Windows Server 2016 R2. Задача, переместить с 2016 r2 все виртуальные машины на 2012 r2, scvmm не используется, так как его нет и единственным вариантом сделать задачу, это воспользоваться встроенным механизмом перемещения, доступным через оснастку.

В результате попытке перевезти виртуальную машину, выскочила вот эта проблема.

При выполнении перемещения возникла ошибка. Сбой при миграции виртуальной машины в исходном расположении миграции. Не удалось установить соединение с узлом: Такой запрос не поддерживается. (0x80070032).

Не удалось установить соединение из-за неподдерживаемой версии протокола (версия протокола 6.0)

ошибка 0x80070032

Причины ошибки 0x80070032

Давайте рассмотрим возможные причины данной проблемы:

  • Если обратиться к документации Microsoft относительно ее гипервизора, то там написано, что миграция без scvmm1 не может быть осуществлена с более новой версии Hyper-V на меньшую, именно мой случай. (https://technet.microsoft.com/ru-ru/library/dn282278.aspx?f=255&MSPPError=-2147217396)
  • Если же у вас версии либо одинаковые, либо вы делаете миграцию на более новую версию, то проверьте включена ли у вас динамическая миграция. Если нет, то посмотрите по ссылке.

Со вторым вариантом, все понятно, включаете Kerberos и динамическую миграцию, а вот в первом случае, вас спасет функция экспорта виртуальной машины Hyper-V, перенос ее по сети на другой хост и импортирование. В итоге вы избежите ошибку 0x80070032 на гипервизоре Microsoft.

Июл 4, 2017 12:01

Понравилась статья? Поделить с друзьями:
  • Corregir error 0xc000007b скачать
  • Could not start domain one 0 error failed to connect to the hypervisor
  • Correction error перевод
  • Could not set owner error 5 denwer
  • Correcting error in the uppercase file