В настоящее время я пытаюсь добавить функцию в свой сценарий powershell со следующей целью:
На компьютере, который еще не добавлен в домен (необходимо), выполнить поиск на локальном сервере AD.(Не Azure) для следующего доступного имени, основанного на вводе пользователя.
В прошлом я пытался и не смог использовать массивы, и я хочу использовать командлет Get-ADComputer в этом, но яне уверен, как это реализовать.
$usrinput = Read-Host 'The current PC name is $pcname , would you like to rename it? (Y/N)'
if($usrinput -like "*Y*") {
Write-Output ""
$global:pcname = Read-Host "Please enter the desired PC Name"
Write-Output ""
$userinput = Read-Host "You've entered $pcname, is this correct? (Y/N)"
if($usrinput -like "*N*") {
GenName
#name of the parent function
}
Write-Output ""
Приведенный выше код является частью более крупного сценария, который анализирует имя компьютера и в конце присваивает ему правильное OU.
Наша схема именованияработает следующим образом: BTS-ONE-LAP-000
Так оно и есть: Отдел - Расположение - Тип устройства - Количество устройств
Затем код примет первую часть "BTS-ONE" ипроанализируйте его для правильного OU, к которому это должно пойти, и затем назначьте это, используя командлет Add-Computer.Он также будет переименовывать компьютер в соответствии с тем, что набрал пользователь ($ pcname).
Поэтому, прежде чем он проанализирует имя, я бы хотел, чтобы он искал все текущие имена в AD.
Таким образом, пользователь может ввести: «BTS-ONE-LAP», и он автоматически найдет следующий доступный счетчик устройств и добавит его к имени.Таким образом, он автоматически сгенерирует «BTS-ONE-LAP-041».
Добавлено примечание:
Я использовал Get-ADComputer -Filter 'Name -like "BTS-ONE-LAP-*"' | FT Name
, а на выходе будет
Name
----
BTS-ONE-LAP-001
BTS-ONE-LAP-002
BTS-ONE-LAP-006
BTS-ONE-LAP-007
BTS-ONE-LAP-009
BTS-ONE-LAP-010
BTS-ONE-LAP-022
BTS-ONE-LAP-024
BTS-ONE-LAP-025
BTS-ONE-LAP-028
BTS-ONE-LAP-029
BTS-ONE-LAP-030
BTS-ONE-LAP-031
BTS-ONE-LAP-032
BTS-ONE-LAP-034
BTS-ONE-LAP-035
BTS-ONE-LAP-036
BTS-ONE-LAP-037
BTS-ONE-LAP-038
BTS-ONE-LAP-039
BTS-ONE-LAP-040
BTS-ONE-LAP-041
BTS-ONE-LAP-050
BTS-ONE-LAP-051
Я не знаю, как разобрать это, поэтому код знает, что BTS-ONE-LAP-003 доступен (я ужасен с массивами).