Как создать имя пользователя AD с точкой через Powershell?

Как создать имя пользователя AD с точкой через Powershell?

Я пытаюсь изменить существующий скрипт так, чтобы мое имя пользователя было firstname intial точка фамилия, например: Имя пользователя John Doe будет j.doe Текущий скрипт работает (без .) как: $firstname.substring(0,$i) + $lastname

Спасибо.

решение1

Есть несколько способов построить эту строку. [ухмылка] вот 4 из них, которые приходят мне на ум.

что делает код ...

  • поддельное чтение в CSV-файле с данными FirstName, LastName
    заменяет весь #region/#endregionблок на ваш предпочтительный источник данных.
  • выполняет итерации по полученной коллекции
  • создает нужную строку четырьмя различными методами.
    Я предпочитаю -fоператор форматирования строк, но многие предпочитают конкатенацию строк.
  • отправляет каждый на дисплей
  • добавляет разделительную линию между группами результатов

код ...

#region >>> fake reading in a CSV file
#    when ready to do this for real, use your prefered data source
#    and delete or comment out the entire "#region/#endregion" block
$NameList = @'
FirstName, LastName
Alfa, Bravo
Charlie, Delta
Echo, Foxtrot
'@ -split [System.Environment]::NewLine |
    ConvertFrom-Csv
#endregion >>> fake reading in a CSV file

foreach ($NL_Item in $NameList)
    {
    # string format operator
    '{0}.{1}' -f $NL_Item.FirstName[0], $NL_Item.LastName

    # -join operator
    $NL_Item.FirstName[0], $NL_Item.LastName -join '.'

    # string concatenation
    $NL_Item.FirstName[0] + '.' + $NL_Item.LastName

    # variable-in-string expansion
    "$($NL_Item.FirstName[0]).$($NL_Item.LastName)"

    # yes, you can multiply a string [*grin*] 
    '=' * 20
    }

выход ...

A.Bravo
A.Bravo
A.Bravo
A.Bravo
====================
C.Delta
C.Delta
C.Delta
C.Delta
====================
E.Foxtrot
E.Foxtrot
E.Foxtrot
E.Foxtrot
====================

решение2

$firstname.substring(0,$i) +"."+ $lastname

Связанный контент