PowerShell цикл через имена пользователей - PullRequest
0 голосов
/ 09 ноября 2018

Я пытаюсь создать функцию в моем скрипте, которая перебирает имена пользователей и создает их впоследствии. Например, когда у меня есть «User1» и «User2», он создаст «User3», и если бы я должен был удалить одного из этих пользователей, он снова создал бы этого пользователя при следующем запуске сценария.

Редактировать: нет никаких ошибок в том, что я связал, мне просто интересно, как я могу сделать что-то подобное, так как я не смог найти ничего похожего в Google, если я ошибаюсь по этому поводу и есть надежный источник ссылки будет очень признателен.

Import-Module ActiveDirectory

Get-ADUser -filter "enabled -eq 'false'" -SearchBase 'OU=ScriptLuuk,OU=GastAccounts,OU=Leerlingen,DC=cvo-zwfryslan,DC=nl' |
    Remove-ADUser -Confirm:$false

$ExpirationDate = Read-Host -Prompt "Enter Expiration Date like so 10/18/2018"

function Get-RandomCharacters($length, $characters) {
    $random = 1..$length | ForEach-Object { Get-Random -Maximum $characters.length }
    $private:ofs = ""
    return [String]$characters[$random]
}

$password = Get-RandomCharacters -length 3 -characters 'abcdefghijklmnopqrstuvwxyz'
$password += Get-RandomCharacters -length 1 -characters 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
$password += Get-RandomCharacters -length 1 -characters '1234567890'

$username = @("User1, User2, User3, User4, User5, User6, User7, User8, User9, User10")

New-ADUser `
    -Name User1 `
    -AccountPassword (ConvertTo-SecureString "$password" -AsPlainText -Force) `
    -Path "OU=ScriptLuuk,OU=GastAccounts,OU=Leerlingen,DC=cvo-zwfryslan,DC=nl" `
    -AccountExpirationDate "$ExpirationDate" `
    -Enabled 1 

Add-ADGroupMember -Identity ScriptGast -Member Luuk1

if (!(Test-Path "cvo-zwfryslan.nl\cvo\Personeel\KELU\Bureaublad\ScriptGast.txt")) {
    New-Item -Path cvo-zwfryslan.nl\cvo\Personeel\KELU\Bureaublad\ -Name ScriptGast.txt -Type "file" -Value "my new text"
    Write-Host "Created new file and text content added"
    Write-Output `n | Out-File cvo-zwfryslan.nl\cvo\Personeel\KELU\Bureaublad\ScriptGast.txt -Append
} else {
    Add-Content -Path cvo-zwfryslan.nl\cvo\Personeel\KELU\Bureaublad\ScriptGast.txt -Value "School1:$Password : $ExpirationDate"
    Write-Output `n | Out-File cvo-zwfryslan.nl\cvo\Personeel\KELU\Bureaublad\ScriptGast.txt -Append
}

1 Ответ

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

Вы неправильно определяете этот массив:

$username = @("User1, User2, User3, User4, User5, User6, User7, User8, User9, User10")

Это должно быть:

$username = @("User1", "User2", "User3", "User4", "User5", "User6", "User7", "User8", "User9", "User10")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...