Powershell을 통해 점이 포함된 AD 사용자 이름을 어떻게 생성합니까?

Powershell을 통해 점이 포함된 AD 사용자 이름을 어떻게 생성합니까?

내 사용자 이름이 첫 번째 점 성으로 되도록 기존 스크립트를 변경하려고 합니다. 예: John Doe의 사용자 이름은 j.doe입니다. 현재 스크립트는 다음과 같이 작동합니다(. 제외): $firstname.substring(0,$i) + $성

감사합니다.

답변1

해당 문자열을 만드는 방법에는 여러 가지가 있습니다. [이를 드러내고 웃다] 그 중 제게 떠오르는 4가지가 있습니다.

코드가 무엇을 하는지...

  • FirstName, LastName 데이터가 포함된 CSV 파일에서 가짜 읽기를 수행하면
    전체 #region/#endregion블록이 원하는 데이터 소스로 대체됩니다.
  • 결과 컬렉션을 반복합니다.
  • 4가지 다른 방법으로 원하는 문자열을 생성합니다.
    제가 선호하는 -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

관련 정보