Установить организационную единицу по 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'
Другие вопросы по тегам