Компания Microsoft по соображениям безопасности удалила роль IDMU/NIS Server в Windows Server 2016. Теперь привычной оснастки по управлению UNIX атрибутами нет.
Есть три способа управления UNIX атрибутами.
GUI способ
Запускаем оснастку Active Directory Users and Computer, выбираем View → Advanced Features.
Открываем свойства пользователя или группы. Переходим на вкладку Attribute Editor.
И редактируем для пользователя:
- uidNumber
- Loginshell
- unixHomeDirectory
- gidNumber
- maSFU30NisDomain
- msSFU30Name
Для группы:
- gidNumber
- MemberUid
- maSFU30NisDomain
- msSFU30PosixMember
- msSFU30Name
Для компьютера:
- ipHostNumber
- maSFU30NisDomain
- msSFU30Name
- msSFU30Aliases
PowerShell способ
Import-Module ActiveDirectory
#To query Unix Properties of a User Object
$username = "guest"
Get-ADUser $username -Properties * | Select SamAccountName, msSFU30NisDomain,uidNumber, unixHomeDirectory, loginShell, gidnumber, @{Label='PrimaryGroupDN';Expression={(Get-ADGroup -Filter {GIDNUMBER -eq $_.gidnumber}).SamAccountName}}
#To query Unix Properties of a Group object
$groupname = "Unix Sample Group"
Get-ADGroup $groupname -Properties * | Select SamAccountName, msSFU30NisDomain,gidnumber, @{Label='Members';Expression={(Get-ADUser -Filter {GIDNUMBER -eq $_.gidnumber}).SamAccountName}}
#To query Unix Properties of a Computer Object
$computername = "server123"
Get-ADComputer $computername -Properties * | Select SamAccountName, msSFU30NisDomain,ipHostNumber, msSFU30Aliases
#Set unixHomeDirectory on a user (replace this with any of the attributes you’d like to set)
$username = "guest"
set-ADUser $username -Replace @{unixHomeDirectory="/usr/sbin/guest"}
Пример вывода:
SamAccountName : Guest msSFU30NisDomain : woodgrove uidNumber : 10001 unixHomeDirectory : /usr/sbin/guest loginShell : /bin/sh gidnumber : 10001 PrimaryGroupDN : Unix Sample Group SamAccountName : Unix Sample Group msSFU30NisDomain : woodgrove gidnumber : 10001 Members : {Administrator, Guest} SamAccountName : Server123 msSFU30NisDomain : woodgrove ipHostNumber : {10.2.2.2} msSFU30Aliases : {bla, unixtestclient}
Комбинированный способ
Сначала через PowerShell узнаём максимальный номер uidNumber или gidNumber.
Get-ADUser -Filter "uidNumber -like '*'" -Property uidNumber | Measure-Object -Maximum -Property uidNumber
Get-ADGroup -Filter {gidNumber -ne "*"} -Property gidNumber | Measure-Object -Maximum -Property gidNumber
Увеличиваем номер на единицу и прописываем атрибуты вручную через GUI у пользователя или группы.
Или скриптом:
Set-ADUser v.pupkin -add @{uidNumber="10042"; gidNumber="10000"; unixHomeDirectory="/home/v.pupkin"; loginShell="/bin/bash"}
Дополнительно
Вывести пользователей с UNIX атрибутами:
Get-ADUser -filter {uidnumber -ne "*"} -Properties * | ft SamAccountName,uidnumber,gidNumber
Вывести группы с UNIX атрибутами:
Get-ADGroup -Filter {gidNumber -ne "*"} -Properties * | ft SamAccountName,gidNumber