Удалить символ ":" из результатов - PullRequest
0 голосов
/ 14 июня 2019

Я пытаюсь перечислить только уникальные HomeDrive для всех пользователей в группе Universal Security и удалить ошибки вложенных групп. Спасибо за вашу помощь. Denis

Я пробовал .TrimEnd(':'), похоже, не могу понять, где его поставить

$Group = "Universal Security group"
$HomeDrive = Get-ADGroupMember $Group | `
    ForEach-Object { 
        $UserName = $_.Name
        Try {
            #$ErrorActionPreference = "Stop"
            Get-ADUser $UserName -Properties HomeDrive | Select HomeDrive
            }
        Catch {
            Write-Host "Found a nested Group."
            }
        } | Sort-Object -Property 'HomeDrive' -Unique | Format-Table -HideTableHeaders | Out-String
Write-Host "$HomeDrive" -BackgroundColor DarkRed

Скрипт работает, но у некоторых пользователей домашние диски указаны как F, а большинство - как F :. По сути, я делаю много двойных записей, и я хочу, чтобы вывод был только F. Также он генерирует 7 пробелов после :, поэтому у меня есть цвет фона.

1 Ответ

1 голос
/ 14 июня 2019

Примерно так:

$group = "Universal Security group"
$homeDrives = Get-ADGroupMember $Group |
    ForEach-Object {
        if ($_.ObjectClass -eq "User")
        {    
            $user = Get-ADUser $_.Name -Properties "HomeDrive"
            $homeDrive = $user.HomeDrive.Trim().TrimEnd(":")
            return $homeDrive
        }
    } | Sort-Object -Unique

foreach ($homeDrive in $homeDrives)       
{
    Write-Host "Found home drive: $homeDrive" -BackgroundColor DarkRed
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...