Наша AD - беспорядок, и я пытался найти способ автоматически назначать компьютеры / рабочие станции организационной единице на основе их IP-адреса. Однако мне не удалось найти какую-либо информацию о том, как это сделать.
Есть ли способ сделать это? Если да, то как можно назначить компьютеры подразделению на основе их IP-адреса?
Зачем вам это нужно? Если вашей целью является применение определенных объектов групповой политики к компьютерам в зависимости от их сетевого расположения, вы можете сделать это намного проще, связав объекты групповой политики с сайтами Active Directory.
если ты действительно есть веская причина для этого, встроенного способа нет; вы, вероятно, можете что-то взломать с помощью PowerShell в следующих строках:
Но я настоятельно не рекомендую этого делать; внимательно посмотрите на актуальный проблема, которую вы пытаетесь решить, и, скорее всего, вы найдете лучший способ ее решить.
Да, вам нужно написать что-то подобное, но это, безусловно, можно сделать. Если вы действительно хотите сходить с ума, вы можете запустить его как сценарий входа (компьютер) через GPO и автоматически перемещать его, если компьютер перемещается в другую подсеть.
Скрипт будет использовать что-то вроде этого плюс словоблудие, чтобы определить, куда вы хотите его отправить:
$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'