Powershell последующие имена пользователей - PullRequest
0 голосов
/ 07 ноября 2018

Я только начал изучать Powershell, и мне было интересно, как создать скрипт powershell, который сканирует OU для пользователей и выбирает следующий номер. Например, когда в моем OU есть «User1» и «User2», при запуске сценария

будет создано «User3»

1 Ответ

0 голосов
/ 07 ноября 2018

То же самое, что сказано.

Однако, поскольку вы знаете, это действительно простая задача. Просто выберите всех пользователей, отсортируйте по номеру пользователя, извлеките числовую часть и добавьте 1 ... Вот только способ сделать это грубым образом.

# Using a user list, sort, extract the number via split and Regex and increment based on the highest number retruned
$UserList = 'User1','User3','User7','User8','User2','User5' 
'User' + ([int]((($UserList | Sort-Object | Select-Object -Last 1) -split '(?=\d)',2)[1]) + 1)

... но что если вы удалите номер пользователя, то это может быть дубликатом. Также, используя схему нумерации, которую вы показываете, не будет сортировать правильно, как вы получаете выше однозначных. Таким образом, вы должны планировать общее количество ожидаемых применений и нули для этого. Конечно, я просто передаю список, но, конечно, можно просто использовать командлеты AD (используя RSAT или PSRemoting для DC), чтобы этот список можно было перебрать.

'User9','User1','User3','User7','User8','User2','User5','User10' | Sort-Object

User1
User10
User2
User3
User5
User7
User8
User9

'User09','User01','User03','User07','User08','User02','User05','User05','User10' | Sort-Object

User01
User02
User03
User05
User05
User07
User08
User09
User10


'User009','User001','User003','User007','User008','User002','User005','User010' | Sort-Object

User001
User002
User003
User005
User007
User008
User009
User010

Итак, если вы абсолютно не уверены в этой нумерации и никогда не планируете удалить пользователя, это будет проблемой. Если вышеприведенное верно, то вам нужно.

Тем не менее, все вышеперечисленное станет известно только в том случае, если вы потратите время на освоение основ PowerShell, чтобы ограничить / избежать всей путаницы и разочарований, с которыми вы столкнетесь.

Итак, все в таком духе ..

Если вышеизложенное не ясно. Крайне важно, чтобы, если вы новичок, вы сначала потратили несколько часов / дней на наращивание, чтобы избежать множества ненужных разочарований и путаницы, с которыми вы столкнетесь.

Выполните поиск по Виртуальная академия Microsoft на PowerShell и YouTube , чтобы получить бесплатное видео-обучение. Вот некоторые другие ресурсы и советы:

  • Бесплатные электронные книги доступны на этом сайте
  • Прочитайте полный файл справки для любого командлета, который вы пытаетесь использовать
  • Практика с примерами
  • Прочитать файл справки еще раз
  • Подберите несколько хороших книг, вроде «PowerShell за месяц обедов» .
  • На сайтах Microsoft есть много бесплатных электронных книг PowerShell. и другие.

См. Также: Руководство по выживанию PowerShell

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...