Со временем Active Directory предприятия, особенно крупного, засоряется объектами, которые давно не используются. Это могут быть отключенные учетные записи, учетные записи компьютеров, потерянных из доменов, группы безопасности, уже не нужные и не использующиеся и т.д.
Вручную просмотреть объекты Active Directory и найти среди них старые, давно не использующиеся (не активные) элементы — работа затратная по времени, а для предприятия в несколько сотен, а то и тысяч пользователей — просто нереальная.
В этом топике я покажу — как найти все устаревшие записи в домене.
Нам понадобится утилита dsquery, которая поставляется в комплекте набора утилит Windows Server 2003 Support Tools. Этот набор идет вместе с Service Pack 2 для Windows Server (т.е. Windows Server 2003 SP2 уже имеет его встроенным, как и Windows Server 2003 R2 и Windows Server 2008, в т.ч. R2).
Все команды нужно вводить в окне CMD (Пуск -> Выполнить -> CMD). Запускайте утилиту на одном из Ваших контроллеров домена.
Удаление программ через командную строку (wmic msiexec)
Неактивные компьютеры
dsquery computer -inactive 24 -limit 10000
Данная команда выведет список всех компьютеров, учетные записи которых не использовались 24 недели или более. Параметр -inactive принимает значение в виде числа недель, которое простаивает учетная запись.
-limit 10000 переопределяет количество объектов, выводимых утилитой. По-умолчанию это 100.
А следующий вывод будет выполнен в текстовый файл, который Вы можете просмотреть в любое время:
dsquery computer -inactive 24 -limit 10000 > C:result.txt
Неактивные пользователи
dsquery user -inactive 12 -limit 10000
Эта команда найдет всех пользователей, неактивных последние 12 недель (т.е. пользователей, не входивших в систему за это время).
Автоматически удалить неактиывные компьютеры или пользователей
Удаляем компьютеры, учетные записи которых не использовали дольше 24 недель:
dsquery computer -inactive 24 -limit 10000 | dsrm -noprompt
Удаляем пользователей, учетные записи которых не использовали дольше 48 недель:
dsquery user -inactive 48 -limit 10000 | dsrm -noprompt
Remove-Computer
Командлет Remove-Computer удаляет локальный и удаленный компьютеры из текущих доменов.
При удалении компьютера из домена Remove-Computer также отключает учетную запись домена компьютера. Необходимо предоставить явные учетные данные, чтобы отсоединить компьютер от его домена, даже если они являются учетными данными текущего пользователя. Чтобы изменения вступили в силу, необходимо перезагрузить компьютер. При удалении компьютера из домена необходимо переместить его в рабочую группу. Используйте параметр WorkgroupName для указания рабочей группы.
Чтобы переместить компьютер из рабочей группы в домен, из одной рабочей группы в другую или из одного домена в другой, используйте Add-Computer командлет .
Чтобы получить результаты выполнения команды, используйте параметры Verbose и PassThru. Чтобы скрыть запрос к пользователю, используйте параметр Force.
Удаленная установка программ в домене с помощью msi файла
Remove-Computer удаляет локальный и удаленный компьютеры из доменов. Это включает в себя параметры учетных данных, в которых указаны альтернативные учетные данные для подключения к удаленным компьютерам и отсоединения от домена, параметр Restart для перезагрузки затронутых компьютеров, параметр WorkgroupName для указания имени рабочей группы, в которую добавляются компьютеры.
Примеры
Пример 1. Удаление локального компьютера из домена
В этом примере локальный компьютер удаляется из домена, к которому он присоединен.
Remove-Computer -UnjoinDomaincredential Domain01Admin01 -PassThru -Verbose -Restart
Параметр UnjoinDomainCredential предоставляет учетные данные администратора домена. Общие параметры PassThru и Подробные общие параметры отображают сведения об успешном или неудачном выполнении команды. Параметр Restart перезапускает компьютер для завершения операции удаления.
Если имя рабочей группы не указано, компьютер перемещается в рабочую группу после удаления из своего домена.
Пример 2. Перемещение нескольких компьютеров в устаревшую рабочую группу
В этом примере все компьютеры, перечисленные в OldServers.txt файле, удаляются из доменов и перемещаются в рабочую группу прежних версий .
Remove-Computer -ComputerName (Get-Content OldServers.txt) -LocalCredential Domain01Admin01 -UnJoinDomainCredential Domain01Admin01 -WorkgroupName «Legacy» -Force -Restart
Параметр LocalCredential предоставляет учетные данные пользователя, имеющего разрешение на подключение к удаленным компьютерам. Параметр UnjoinDomainCredential предоставляет учетные данные пользователя, имеющего разрешение на удаление компьютеров из своих доменов. Параметр Force подавляет запросы подтверждения для каждого компьютера. Параметр Restart перезапускает каждый компьютер после удаления из своего домена.
Пример 3. Удаление компьютеров из рабочей группы без подтверждения
В этом примере удаленный компьютер Server01 и локальный компьютер удаляются из доменов и добавляются в локальную рабочую группу.
Remove-Computer -ComputerName «Server01», «localhost» -UnjoinDomainCredential Domain01Admin01 -WorkgroupName «Local» -Restart -Force
Параметр Force подавляет запрос подтверждения для каждого компьютера. Параметр Restart перезапускает компьютеры, чтобы изменения вступили в силу.
Параметры
-ComputerName
Указывает компьютеры, удаляемые из своих доменов. По умолчанию это локальный компьютер.
Введите NetBIOS-имя, IP-адрес или полное доменное имя удаленных компьютеров. Чтобы указать локальный компьютер, введите имя компьютера, точку ( . ) или localhost .
Этот параметр не зависит от удаленного взаимодействия PowerShell. Параметр ComputerName Remove-Computer можно использовать, даже если компьютер не настроен для выполнения удаленных команд.
Этот параметр появился в PowerShell 3.0.
Type: | String [ ] |
Position: | Named |
Default value: | None |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Confirm
Запрос подтверждения перед выполнением командлета.
Type: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Force
Скрывает запрос к пользователю. По умолчанию Remove-Computer запрашивает подтверждение перед удалением каждого компьютера.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-LocalCredential
Указывает учетную запись пользователя, которая имеет разрешение на подключение к компьютерам, которые заданы параметром ComputerName . По умолчанию используется текущий пользователь.
Введите имя пользователя, например User01 или Domain01User01 , или введите объект PSCredential , например созданный командлетом Get-Credential . Если ввести имя пользователя, командлет запросит пароль. Чтобы указать учетную запись пользователя, имеющую разрешение на удаление компьютера из текущего домена, используйте параметр UnjoinDomainCredential.
Этот параметр появился в PowerShell 3.0.
Type: | PSCredential |
Position: | Named |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-PassThru
Возвращает результаты выполнения команды. В противном случае командлет не формирует никаких выходных данных.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Restart
Указывает, что этот командлет перезагружает удаляемые компьютеры. Чтобы изменения вступили в силу, часто требуется перезагрузка.
Этот параметр появился в PowerShell 3.0.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-UnjoinDomainCredential
Указывает учетную запись пользователя, имеющую разрешение на удаление компьютеров из текущих доменов. Требуются явные учетные данные, как указано в этом параметре, для удаления удаленных компьютеров из домена, даже если это учетные данные текущего пользователя.
Введите имя пользователя, например User01 или Domain01User01 , или введите объект PSCredential , например Get-Credential созданный . При вводе имени пользователя этот командлет запрашивает пароль.
Чтобы указать учетную запись пользователя, имеющую разрешение на подключение к удаленным компьютерам, используйте параметр LocalCredential.
Этот параметр появился в PowerShell 3.0.
Type: | PSCredential |
Aliases: | Credential |
Position: | |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-WhatIf
Показывает, что произойдет при запуске командлета. Командлет не выполняется.
Type: | SwitchParameter |
Aliases: | wi |
Position: | Named |
Default value: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-WorkgroupName
Указывает имя рабочей группы, в которую добавляются компьютеры после удаления из их доменов. Значение по умолчанию — WORKGROUP. При удалении компьютера из домена необходимо добавить его в рабочую группу.
Этот параметр появился в PowerShell 3.0.
Type: | String |
Position: | Named |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Входные данные
В этот командлет можно передать имена компьютеров.
Выходные данные
При использовании параметра Remove-Computer PassThru возвращает объект ComputerChangeInfo. В противном случае командлет не формирует никаких выходных данных.
Примечания
Этот командлет не удаляет компьютеры из рабочих групп.
Связанные ссылки
- Add-Computer
- Checkpoint-Computer
- Remove-Computer
- Rename-Computer
- Restart-Computer
- Restore-Computer
- Stop-Computer
- Test-Connection
Обратная связь
Отправить и просмотреть отзыв по
Источник: learn.microsoft.com
Удаление локальной и доменной учётной записи пользователя в Windows 7
Иногда требуется удалить учётную запись пользователя, оно же профиль пользователя, оно же учётка. В моём случае это выражалось в очень медленной работе ПК под одной из учёток. При этом процессор и оперативная память использовались всего на 15-20%. В службах тоже ничего криминального не нашел. Windows логи тоже ни о чём не сказали.
Тогда я принял решение разрубить гордиев узел, и удалить учётку на Windows 7, которая вызывала проблемы, и создать новую. Но как?
Учётная запись может быть локальная или доменная.
1. Локальная учётная запись знакома каждому. Создаётся на компьютере локально, и распространяется на один компьютер. Одним словом, обычная.
2. Доменная учётная запись позволяет иметь доступ под своим логином и паролем на группу компьютеров. Однако, доменная учётная запись также имеет свой набор файлов на каждом ПК, где когда-либо вводил свои логин и пароль «доменный» пользователь. Эти данные тоже можно удалить с компьютера. При следующем входе доменного пользователя, данные снова затянуться с сервера, но уже чистые, без всяких артефактов.
Как удалить локальную и доменную учётные записи
Чтобы удалить локальную учётную запись
Можно использовать компонент system через командную строку запущенную от имени администратора.
Но перед этим копируйте папку пользователя из C:Users для сохранения данных. Впоследствии вы сможете перенести их в новый профиль.
Если Локальная запись находится на ПК не введённом в домен в командную строку введите:
runas /user:имя_компьютера>Administrator “rundll32.exe shell32.dll,Control_RunDLL sysdm.cpl”
Если Локальная запись находится на ПК введённом в домен в командную строку введите:
runas /user:имя_компьютераимя_домена>Administrator “rundll32.exe shell32.dll,Control_RunDLL sysdm.cpl”
В открывшемся окне выберите » Дополнительно»- «Профили пользователей»- «Параметры»
В группе “ Профили, хранящиеся на этом компьютере” выбрать нужный и нажать кнопку “ Удалить” .
Как удалить Доменную учётную запись
Удалить запись доменного пользователя выполнявшего вход ранее требуется:
- Удалить ветку реестра профиля пользователя
- Переименовать соответствующую пользователю папку в C:Users
Удалить ветку реестра
Заходим в редактор реестра Windows через поисковую строку в меню «Пуск», где набираем regedit.msc
В открывшемся редакторе переходим по ниже приведённому пути
HKLMSOFTWAREMicrosoftWindows NTCurrentVersionProfileList
В открывшемся окне вы увидите несколько открытых веток. Для того, чтобы понять какому профилю соответствует ветка. Следует открыть её двойным щелчком мыши. В параметре ProfileImagePath будет указан путь к папке пользователя название которой совпадает с логином.
Переименовать соответствующую пользователю папку в C:Users
Данная папка может быть, и удалена. Однако, убедитесь, что она не содержит важных данных пользователя. Именно в ней содержатся файлы с Рабочего стола, Документы, Загрузки и т.д.
В моём случае, я просто переименовал данную папку для последующего переноса важных файлов в папку нового профиля.
Надеюсь данный материл будет вам полезен.
Источник: techsuphelper.blogspot.com