Установить организационную единицу по IP-адресу в Active Directory
Наша AD - беспорядок, и я пытался найти способ автоматического назначения компьютеров / рабочих станций организационной единице на основе их IP-адреса. Однако мне не повезло найти какую-либо информацию о том, как это сделать.
Есть ли способ сделать это? Если да, то как можно назначить компьютеры подразделению на основе их IP-адреса?
2 ответа
Почему вы хотите сделать такую вещь? Если ваша цель состоит в том, чтобы применять конкретные объекты групповой политики к компьютерам на основе их сетевого расположения, вы можете сделать это намного проще, связав объекты групповой политики с сайтами Active Directory.
Если у вас действительно есть веская причина для этого, нет встроенного способа; вы, вероятно, можете что-то взломать с помощью PowerShell следующим образом:
- Получить компьютер из AD
- Запросите DNS для его IP-адреса
- Переместите его в нужное вам подразделение
Но я настоятельно советую вам против этого; внимательно посмотрите на реальную проблему, которую вы пытаетесь решить, и вы, скорее всего, найдете лучший способ ее решения.
Да, вам нужно написать что-то вроде этого, но это, безусловно, можно сделать. Если вы действительно хотите выйти из себя, вы можете запустить его как скрипт входа в систему (компьютер) через объект групповой политики и автоматически перемещать его, если компьютер перемещается в другую подсеть.
Скрипт будет использовать что-то вроде этого плюс словоблудие, чтобы определить, куда вы хотите его отправить:
$ips = [System.Net.Dns]::GetHostAddresses("hostname-here")
Insert logic here
$hostname = get-adcomputer("hostname-here")
Move-ADObject '$hostname' -TargetPath 'OU=Accounting,DC=Fabrikam,DC=com'