admin / 03.09.2018

Майкрософт визуал студио что это за программа

Доставка синих ромашек в Москве (Antananarivo)

Получить список группы по маске:

Import-Module ActiveDirectory Get-ADGroup -Filter {name -like «*Workstation Admins»} | select name

Получить список членов AD группы, которые удовлетворяют критерию (содержат в своем названии search_matching_rule):

Import-Module ActiveDirectory $oulist = Get-ADGroup «AD_Group_name» -Properties * | select -expandproperty memberof | where {$_ -match ‘search_matching_rule’} $oulist | % { $_ -split ‘,’,2 | select -first 1 } $oulist

Получение имени менеджера сотрудника и его телефонного номера:

Import-Module ActiveDirectory $user = Read-Host -Prompt «Enter username» -ErrorAction Stop $managerdn = (Get-ADUser $user -Properties *).manager $man = $managerdn -split ‘,’,3 | select -first 2 $manfullname = $man[0].trim(«CN=\»)+ «,» + $man[1] $user+»‘s manager is » + $manfullname $mgrusrname = Get-ADUser -Filter {name -like $manfullname} | select -ExpandProperty samaccountname $mgrddi = Get-ADUser $mgrusrname -Properties telephoneNumber| select -ExpandProperty telephoneNumber $manfullname+»‘s DDI number is «+$mgrddi $mgrddi.substring(10)

Выгрузка email для списка аккаунтов:

Import-Module ActiveDirectory $users = get-content -Path (Read-Host -Prompt «Path to TXT file with users» -ErrorAction Stop) foreach($user in $users) { Get-ADUser $user -Properties mail | select -ExpandProperty mail | Out-File D:\AD\user_list.txt -append }

Включить аккаунты пользователей из списка:

Import-Module ActiveDirectory $users = get-content -Path (Read-Host -Prompt «Path to TXT file with users» -ErrorAction Stop) foreach($uname in $users) { Get-ADUser -Identity $uname -Properties enabled | select samaccountname >> c:\Temp\list.txt }

 

Популярность: 1%

Antananarivo

Бывает, что возникает необходимость привести  записи о пользователях в Active Directory  к некоему стандарту. У нас есть однотипные логины (user0001, user0002, user0003 и так далее) и требуется к каждой записи пользователя добавить фамилию, имя, адрес электронной почты, телефон стационарный, телефон мобильный, должность, отдел, название компании. При большом количестве пользователей удобнее вносить данные в таблицу Excel.

Пример исходного файла. По образу и подобию заполняем таблицу.

После того, как мы добавили всех пользователей необходимо сохранить файл в формате, пригодном для экспорта в Active Directory – файл csv. Выбираем “Сохранить как” и в типе фала указываем CSV (MS-DOS). В результате будет сохранен файл CSV с точкой с запятой (” ; “) в виде разделителя.

Чтобы текст на русском языке перенесся в AD правильно, кодировку файл нужно преобразовать в UTF-8 .

Удобнее это делать в программе Notepad++.

Сохраняем файл. Теперь передадим полученный файл скрипту. Создадим еще один файл с таким cодержанием:

$File = import-csv C:\temp\users.csv -delimiter «;» foreach ($User in $file) { $samAccountName = $user.name $email= $user.mail Get-ADUser -LDAPFilter «(samAccountName=$samAccountName)» | Set-aduser -surname $user.surname -givenname $user.givenname -title $user.Title -Department $user.department -Company $user.company -EmailAddress $email -OfficePhone $user.OfficePhone -mobile $user.mobile }

В первой строке прописываем путь к своему сохраненному файлу csv. Сохраним под именем, например, test.ps1  на диске С.

Замечание. Для серверов Windows 2008/2008R2 нужно добавить в начало еще одну строку:  import-module activedirectory.

На контроллере домена стартуем powershell и запускаем скрипт.

После выполнения скрипта данные из нашего файла csv пропишутся в Active Directory.

Примеры работы с группами MS Active Directory (AD DS) из командной строки Powershell

Обновлено: Опубликовано:

Тематические термины: Active Directory, Powershell

Получение информации

1. Список всех групп

Без фильтра:

С фильтром:

Get-AdGroup -filter * | Where {$_.name -like "*free*"} | fl name

* будут выбраны все группы, в названии которых встречается free.

2.

Доставка синих ромашек в Москве (Antananarivo)

Подробная информация о группе

Get-ADGroup "Domain Users" -Properties *

* где ключ -Properties * покажет информацию о всех атрибутах группы.

Показать только SID и GUID группы:

Get-ADGroup "Domain Admins" | ft ObjectGUID, SID

3. Посмотреть членов группы

Перечень членов групп с базовой информацией о каждом пользователе:

Get-ADGroupMember -Identity Administrators

Вывести на экран только имена пользователей:

Get-ADGroupMember -Identity Administrators | ft name

Рекурсивный запрос:

Get-ADGroupMember -Identity Administrators -Recursive | ft name

* в данном примере используется ключ Recursive — это позволяет вывести на экран не только членов группы Administrators, но и членов групп, которые входят в эту группу.

Вывести членов групп с подробной информацией по каждому из них:

Get-ADGroupMember -Identity "Users" | foreach { Get-ADUser $_ -Properties * }

4. Количество пользователей в группе

Расчет выполняется методом Count:

(Get-ADGroupMember -Identity Administrators).Count

5. В каких группах состоит пользователь

Задача немного обратная — работаем с пользователем и отображаем список групп, в которые он входит:

Get-ADUser Administrator -Properties Memberof | Select -ExpandProperty memberOf

6. Список пустых групп

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

Get-ADGroup -filter * | where {-Not ($_ | Get-ADGroupMember)} | Select Name

Действия с группами AD

1. Добавить пользователя в группу

Add-ADGroupMember "Domain Admins" dmosk

* в данном примере пользователь dmosk будет добавлен в группу Domain Admins.

2. Создать новую группу

New-ADGroup -GroupScope DomainLocal -Path "OU=Группы,DC=dmosk,DC=local" -Name "Отдел строительства космических кораблей"

* где GroupScope DomainLocal задает локальную область действия; Path определяет размещение группы в дереве Active Directory.

3. Удалить пользователя из группы

Remove-ADGroupMember -Confirm:$false -Identity "Domain Users" -Members dmosk

* удаляем пользователя dmosk из группы Domain Users. Ключ -Confirm:$false используется для автоматического подтверждения действия (система не станет запрашивать, точно ли Вы хотите удалить пользователя из группы).

# Серверы# Windows# Powershell# Active Directory

Была ли полезна вам эта инструкция?

Да            Нет

Задача — добавить одному пользователю Active Directory несколько групп из файла.

Hoteles en venta en Antananarivo


Если пользователь уже добавлен в какие то группы из списка(вылезет ошибка в процессе) — скрипт продолжит выполнение дальше.

Get-Content "C:\scripts\groups.txt" | Add-ADGroupMember -Members "vasiliy"

Задача — добавить нескольким пользователям из списка несколько групп с помощью Powershell.
Решение 1:
Если хоть один пользователь уже будет добавляемой группе, скрипт остановится. Запускать только если в добавляемых группах точно нет этих пользователей!

$users = Get-Content "C:\scripts\users.txt" get-content "C:\scripts\groups.txt" | Add-ADGroupMember -Members $users

Решение 2:
Скрипт добавляет нескольких пользователей в несколько групп. С проверкой существования в этих группах.
Возможны варианты подгрузки данных, как из txt, csv, так и из самого файла.

#### Список групп #### $group = Get-Content "c:\scripts\groups.csv" #$group = Get-Content "C:\scripts\groups.txt" #$group = ‘TestGroup’,’test-group2′ #### Список пользователей #### #Содержимое csv — колонка юзеров с sAMAccountName $users = Import-Csv -Delimiter ";" "c:\scripts\users.csv" -Encoding Default #Если список юзеров будет из скрипта — нужно удалить ".sAMAccountName" ниже в скрипте #$users = ‘user1′,’user2′,’user3’ foreach ($all in $group) { # Поиск всех пользователей в группах из списка и выдёргивание их sAMAccountName $members = @() Get-ADGroupMember -Identity $all | Select-Object -ExpandProperty sAMAccountName | ForEach-Object{ $members += $_ } # Проверка на существование пользователей из списка с группах и добавление их в группы ForEach($user in $users) { If ($members -notcontains $user.sAMAccountName) { Add-ADGroupMember $all -members $user.sAMAccountName $members += $user.sAMAccountName } } }

Запись опубликована автором MishLen в рубрике Powershell, Server 2008 R2, Server 2012 R2 с метками csv, powershell. Добавьте в закладки постоянную ссылку.

FILED UNDER : IT

Submit a Comment

Must be required * marked fields.

:*
:*