Выдержка PowerShell из цикла - PullRequest
0 голосов
/ 24 февраля 2020

У меня ниже скрипт

Switch -Wildcard ("$($group)$($action)") {
    "Citrix*" {$GroupC = ("#GG-$CC--Citrix1","#GG-$CC-Citrix2-","#GG-$CC-Citrix3")}
}

If ($group -eq "Citrix"){
    $Response = New-Object System.Collections.ArrayList
    $DateInFuture = Read-Host "How long user will be active (: in Days) "
    ForEach ($GroupXc in $GroupC) {
        Add-ADGroupMember -Credential $cred -Identity $GroupXc -Members $User.samaccountname -Verbose
    }
}

Я хочу сохранить результаты в .csv с переменными $ DateInFuture groupX c учетные данные Я не уверен, как мне извлечь GroupX c за пределами l oop

любой простой метод ??

1 Ответ

1 голос
/ 24 февраля 2020

Здесь не так много контекста, но это поможет вам начать. Вам нужно заполнить массив или массив с объектами. Это упрощает экспорт в CSV-файл.

Пример:

    Switch -Wildcard ("$($group)$($action)") {
        "Citrix*" {$GroupC = ("#GG-$CC--Citrix1","#GG-$CC-Citrix2-","#GG-$CC-Citrix3")}
    }
    $OutputFile = C:\Temp\SomeOutput.csv # Obviously you should change this...
    $Response = New-Object System.Collections.ArrayList

    If ($group -eq "Citrix")
    {
        $DateInFuture = Read-Host "How long user will be active (: in Days) "

        ForEach ($GroupXc in $GroupC)
        { # Start loop
            $Response.Add( 
                [PSCustomObject]@{
                DateInFuture = $DateInFuture
                GroupXc      = $GroupXc
                Credentials  = $Credentials
            } ) 

        Add-ADGroupMember -Credential $cred -Identity $GroupXc -Members $User.samaccountname -Verbose
        } # End loop
    }

$Response | Export-Csv -Path $OutputFile -NoTypeInformation

Очевидно, вам придется поэкспериментировать с тем, как и где вы заполнили объекты. Вы должны соответствовать его вашим потребностям. Это всего лишь пример ...

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