Разбор строки с помощью PowerShell - PullRequest
0 голосов
/ 28 мая 2018

Я получаю отчет для пользователей.«Членство» - это строка со всеми группами на пользователя в двойных кавычках.Мне нужно разместить \ между каждой группой.Теперь у меня есть:

"GROUP1""GROUP2""GROUP3"

И мне нужно:

"GROUP1"\"GROUP2"\"GROUP3"

Сейчас мой код:

foreach ($server in $servers) {
    $Comp = $server
    if (test-connection -computername $Comp -count 1 -quiet) {
        ([ADSI]"WinNT://$comp").Children | ?{$_.SchemaClassName -eq 'user'} | %{
            $groups = $_.Groups() | %{$_.GetType().InvokeMember("Name", 'GetProperty', $null, $_, $null)}
            $_ | Select @{n='Server';e={$comp}},
                @{n='DistingishedName';e={$_.AdsPath}},
                @{n='Nombre';e={$_.FullName}},
                @{n='Departamento';e={$_.Department}},
                @{n='Email';e={$_.EmailAddress}},
                @{n='Active';e={if ($_.PasswordAge -like 0) {$false} else {$true}}},
                @{n='PasswordExpired';e={if ($_.PasswordExpired) {$true} else {$false}}},
                @{n='LastLogin';e={$_.LastLogin}},
                @{n='Description';e={$_.Description}},
                @{n='Groups';e={$Groups -join '"'}}
        } | Export-Csv  $ReportFile -Delimiter ';' -Force -Encoding UTF8 -NoTypeInformation -Append
    } else {
        Write-Warning "Server '$Comp' is Unreachable hence Could not fetch data"  3>>  $LogFile
    }
}

1 Ответ

0 голосов
/ 28 мая 2018

попробуйте -join '"\"' вместо -join '"'

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