我正在为用户收到报告。 'membership'是一个字符串,每个用户的所有组都在双引号之间。 我需要在每组之间放置\。现在我有:
"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
}
}
答案 0 :(得分:1)
尝试-join '"\"'
而不是-join '"'