PowerShell включает входную переменную в выходной CSV

#powershell

#powershell

Вопрос:

Я надеялся, что кто-нибудь сможет помочь с тем, что я считал чем-то простым. У меня есть скрипт PowerShell, который считывает файл с адресами электронной почты, затем выполняет команду Exchange O365 и создает CSV-файл. Это отлично работает. Однако я надеялся включить в выходную строку содержимое переменной, используемой во входных данных. Другими словами, возможно, объединить ее с выводом команды.

 $Emails = Get-Content "C:Allqueue.csv"

foreach ($Email in $Emails) {
    Get-MoveRequest $Email |
        select displayname, alias, UserPrincipalName |
        Export-Csv -Append "C:AllqueueResults.txt"
}
  

К сожалению, Get-Mailbox результаты не включают адрес электронной почты, поэтому его нельзя использовать в инструкции select.

Моей первоначальной попыткой было просто добавить $Email к инструкции select вот так.

 select displayname, alias, UserPrincipalName, $Email
  

Но это просто создало столбец.

Буду признателен за любую помощь.

Ответ №1:

Вы можете добавить новый столбец с адресом электронной почты с вычисляемым свойством:

 select displayname, alias, UserPrincipalName, @{n='Email';e={$Email}}