Возвращаемся к началу скрипта в PS - PullRequest
0 голосов
/ 10 марта 2020

Я очень зеленый для PS и редко в нем нуждаюсь, но у меня есть простой Get-AdGroupMember, идентификатор которого похож на l oop назад к началу. Я предпочитаю вводить имя группы, выполнять команду csv, а затем вводить другое, если я не скажу «нет» или, возможно, команду завершения. Любая помощь приветствуется

$GroupName = Read-Host -Prompt 'Input your Group Name'
Get-ADGroupMember -Identity $GroupName | select @{Label = "Full Name";Expression={$_.name}} , @{Label = "Logon Name";Expression = {$_.sAMAccountName}}|
Export-csv -path C:\PS\"$GroupName"Groupmembers.csv -NoTypeInformation
Write-Host "Your file can be found in C:\PS\"

1 Ответ

0 голосов
/ 10 марта 2020

Вы можете использовать простой, бесконечный l oop, чтобы сделать это. Что-то вроде:

$outPath = 'C:\PS'   # an existing folder where the user has permission to create new files

while ($true) {
    $GroupName = Read-Host -Prompt 'Input your Group Name. Exit with blank name.'
    if ([string]::IsNullOrWhiteSpace($GroupName)) { break }  # exit the loop

    try {
        Get-ADGroupMember -Identity $GroupName -ErrorAction Stop | 
        Select-Object @{Name = "Full Name";Expression={$_.name}},
                      @{Name = "Logon Name";Expression = {$_.sAMAccountName}} |
        Export-csv -Path (Join-Path -Path $outPath -ChildPath "$GroupName-GroupMembers.csv") -NoTypeInformation
        Write-Host "Your file can be found in $outPath"
    }
    catch {
        Write-Warning "Group '$GroupName' does not exist"
    }
    Write-Host
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...