Перейти к основному содержанию

UNIX атрибуты в Windows Server 2016 и старше

Windows Server

Компания Microsoft по соображениям безопасности удалила роль IDMU/NIS Server в Windows Server 2016. Теперь привычной оснастки по управлению UNIX атрибутами нет.

Есть три способа управления UNIX атрибутами.

GUI способ

Запускаем оснастку Active Directory Users and Computer, выбираем View → Advanced Features.

win

Открываем свойства пользователя или группы. Переходим на вкладку Attribute Editor.

win

И редактируем для пользователя:

  • 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

win

Get-ADGroup -Filter {gidNumber -ne "*"} -Property gidNumber | Measure-Object -Maximum -Property gidNumber 

win

Увеличиваем номер на единицу и прописываем атрибуты вручную через 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

Поддерживаемые атрибуты

win

Ссылки

https://learn.microsoft.com/ru-ru/archive/blogs/activedirectoryua/identity-management-for-unix-idmu-is-deprecated-in-windows-server

Теги

 

Похожие материалы