Генерация нескольких выходов из списка входов - PullRequest
0 голосов
/ 05 февраля 2019

Пожалуйста, найдите приведенный ниже пример скрипта.В этом скрипте указан один вход $ Name для генерации уникального логина.

Однако, например, если импортировать список из нескольких имен из CSV в поле $ Name, как передать каждое имя из списка в функцию, чтобы сгенерировать уникальное имя для входа и сохранить каждое выходное уникальное имя для входа в CSV.

Пример сценария:

    $Name = "Sample Name"

## Declaring count to 0 .

$i=0

#Define login name
Function New($Count)
{ 
$Splitter = $Name.Split(' ')
$Add1 = $Splitter[0].Substring(0,1)
$Add2 = $Splitter[1].Substring(0,1)

switch($Count)
{
0 {return $LoginName = $Add1+$Add2}
1 {return $LoginName = $Add2+$Add1}
default {return $LoginName = $Add1+$Add2+$Add1}
}
}

#Check AD exist
Function check-ADuser($loginName){

    IF(Get-ADUser -f {samAccountname -eq $LoginName})
        {return $result= $False}
        else {return $result = $True}}
        return $result

#Generate login name
Do{
$loginName = New($i)
$ADresult = check-ADuser -loginName $loginName
$i++

}while($result -ne 'True') 

1 Ответ

0 голосов
/ 15 февраля 2019

Вы говорите, что намереваетесь обработать файл CSV.Вы должны импортировать CSV в переменную и выполнить Foreach поверх этого.

Если вы хотите проверить существующую учетную запись, то, возможно, вы хотите, чтобы цикл Do добавлял число к концу имени учетной записи.Это может быть частью вашей функции Check-ADUser.

Для фильтра AD не используйте фигурные скобки в фильтре.Лучшая практика - размещать его между одинарными кавычками.

Get-ADUser -f 'samAccountname -eq $LoginName'

Еще одно предложение без кода из 20-летнего руководства NT / AD:

Если ваш CSV содержит имена сотрудников, не используйте фактические имена людей в качестве идентификаторов для входа.Люди меняют свои имена для разных целей, и больно менять имена учетных записей только потому, что они женятся или что-то в этом роде.

Если у людей есть номер HR / сотрудника, я настоятельно рекомендую использовать его.Он также гарантированно уникален и, как правило, меньше печатает, чем его настоящее имя.

...