Tìm kiếm trang web

Xuất và hiển thị thông tin về địa chỉ Email bằng PowerShell | Văn phòng 365 | Phần 6#13


Trong bài viết này, chúng tôi xem xét cú pháp lệnh PowerShell cơ bản mà chúng tôi sử dụng để hiển thị thông tin về địa chỉ E-mail của người nhận Exchange Online.

Ngoài ra, chúng tôi xem xét cú pháp lệnh PowerShell mà chúng tôi sử dụng trong trường hợp cần xuất lệnh PowerShell xuất ra nhiều loại tệp khác nhau như - TXT, CSV, HTML và XML.

Cấu trúc của lệnh PowerShell mà chúng tôi sử dụng để lấy thông tin về địa chỉ E-mail

Cấu trúc của lệnh PowerShell mà chúng ta sử dụng để hiển thị thông tin về địa chỉ E-mail được triển khai như sau:

1. Loại người nhận cụ thể

Chúng tôi sử dụng tiền tố lệnh ghép ngắn PowerShell Nhận và chỉ định loại người nhận Exchange Online cụ thể mà chúng tôi muốn giải quyết. Trong bài viết - Giới thiệu các loại người nhận Exchange Online khác nhau | Lệnh ghép ngắn PowerShell | Văn phòng 365 | Phần 8#13, chúng ta sẽ có thể bị ấn tượng bởi sự đa dạng của người nhận Exchange Online. Hiện tại, hãy nói ngắn gọn rằng chúng ta có thể chỉ định một loại người nhận cụ thể, chẳng hạn như “Người nhận hộp thư”, “Người nhận nhóm”, v.v. hoặc chúng ta có thể sử dụng lệnh ghép ngắn PowerShell chẳng hạn như Get-Recipient mà liên quan đến hầu hết các loại người nhận Exchange Online hiện có.

2. Thuộc tính “chuẩn” của người nhận mà chúng ta muốn hiển thị

Hầu hết thời gian, chúng tôi muốn chọn lọc “nói” PowerShell, thuộc tính đối tượng (người nhận) cụ thể mà chúng tôi muốn xem là gì.

Định nghĩa của các thuộc tính có thể là “thuộc tính người nhận tiêu chuẩn” (số 2):

  1. “Thuộc tính nhận dạng” chẳng hạn như Tên hiển thị hoặc Bí danh
  2. Thuộc tính người nhận “lưu trữ” thông tin địa chỉ E-mail chẳng hạn như Địa chỉ email hoặc PrimarySmtpAddress.

Đồng thời, PowerShell cho phép chúng tôi tạo “thuộc tính tùy chỉnh” (số 3) bao gồm tên mà chúng tôi xác định cho thuộc tính cụ thể và “đầu ra được tính toán”, chẳng hạn như - kết quả của một truy vấn, một số phép tính, v.v. TRÊN.

Chúng ta sẽ xem xét phương pháp này trong Bài viết - Thêm địa chỉ Email bằng PowerShell - Nhập từ tệp CSV | Chế độ hàng loạt | Văn phòng 365 | Phần 5#13

Sử dụng “đầu ra” của lệnh PowerShell - thông tin về địa chỉ E-mail

“Đầu ra” mà chúng tôi nhận được từ lệnh PowerShell cung cấp thông tin “nhận cho chúng tôi” về địa chỉ E-mail của người nhận Exchange, có thể là:

  • Hiển thị trên bảng điều khiển PowerShell.
  • Được lưu trữ trong một biến.
  • Được xuất sang nhiều loại tệp khác nhau như - TXT, CSV, XML và HTML.

Trong sơ đồ sau, chúng ta có thể thấy cấu trúc của lệnh PowerShell mà chúng ta sử dụng để hiển thị thông tin về “Địa chỉ email” và tùy chọn xuất thông tin sang một tệp.

Thuộc tính địa chỉ email | Kho lưu trữ địa chỉ E-mail

“Cửa hàng chính ” đóng vai trò là “nơi chứa logic” cho tất cả các loại địa chỉ E-mail trong môi trường Exchange Online là - một trường có tên Địa chỉ Email.

Lưu ý - Trong môi trường Office 365 và Exchange Online có thêm các trường “thuộc tính email”. Ví dụ: Exchange Online sử dụng các thuộc tính sau WindowsEmailAddress và PrimarySmtpAddress để lưu trữ thông tin về địa chỉ E-mail chính.

Người nhận Exchange Online - nhiều loại địa chỉ E-mail khác nhau

Mỗi người nhận Office 365 có thể có nhiều địa chỉ E-mail bao gồm:

  1. Địa chỉ E-mail Smtp (địa chỉ E-mail chính và địa chỉ E-mail Proxy.
  2. x500 Địa chỉ email.
  3. Địa chỉ email không phải SMTP ” chẳng hạn như - Địa chỉ SIP, được sử dụng làm danh tính người dùng khi sử dụng dịch vụ Skype for Business.

Xem thông tin về địa chỉ E-mail trên bảng điều khiển PowerShell

Hiển thị thông tin địa chỉ E-mail bằng bảng điều khiển PowerShell

Cú pháp lệnh PowerShell “mặc định” mà chúng tôi sử dụng để - hiển thị thông tin về địa chỉ E-mail của người nhận khá đơn giản.

Chúng ta cần xác định:

  • Loại người nhận cụ thể, chẳng hạn như “người nhận hộp thư”.
  • Danh tính của người nhận Exchange Online (Bí danh hoặc địa chỉ E-mail, v.v.)
  • Các thuộc tính cụ thể mà chúng tôi muốn hiển thị như DisplayName, PrimarySmtpAddress, EmailAddresses.

Cú pháp lệnh PowerShell

Get-Mailbox <Identity> | Select DisplayName,EmailAddresses

Ví dụ về lệnh PowerShell

Get-Mailbox Billy | Select DisplayName,EmailAddresses

Trong ảnh chụp màn hình sau, chúng ta có thể thấy kết quả (nội dung thuộc tính EmailAddresses). Thông tin được lưu trữ trong trường Địa chỉ email bao gồm thông tin về tất cả
địa chỉ E-mail hiện có và “địa chỉ khác” mà người nhận có địa chỉ E-mail x500 và địa chỉ SIP đó.

Hiển thị thông tin về địa chỉ Email chính

Trong trường hợp chúng tôi chỉ cần hiển thị thông tin về địa chỉ E-mail chính của người nhận Exchange Online cụ thể, chúng tôi có thể sử dụng cú pháp sau.

Ví dụ về lệnh PowerShell:

Get-Mailbox Billy |Select-Object DisplayName,PrimarySmtpAddress

Để hiển thị thông tin về tất cả các hộp thư Exchange Online Địa chỉ E-mail chính, chúng ta có thể sử dụng cú pháp lệnh PowerShell sau.

Ví dụ về lệnh PowerShell:

Get-Mailbox -ResultSize Unlimited |Select-Object DisplayName,PrimarySmtpAddress

“Giới hạn ” của bảng điều khiển PowerShell liên quan đến chủ đề địa chỉ E-mail

Mặc dù chúng tôi có thể sử dụng bảng điều khiển PowerShell để hiển thị thông tin về địa chỉ E-mail của người nhận Exchange Online
, nhưng làm việc với bảng điều khiển PowerShell không được thoải mái lắm vì những hạn chế tích hợp sẵn.

Ví dụ: trong trường hợp một người nhận cụ thể có nhiều địa chỉ E-mail, bảng điều khiển PowerShell không thể hiển thị tất cả các địa chỉ E-mail theo mặc định.

Thay vào đó, bảng điều khiển PowerShell hiển thị số lượng địa chỉ E-mail giới hạn và sử dụng ký tự ba dấu chấm (…).

Mục đích của ký tự ba dấu chấm (…) là để “cho” chúng tôi biết rằng có những địa chỉ E-mail bổ sung không thể hiển thị được.

Mở rộng “Thuộc tính địa chỉ emaily”

Về “vấn đề” hiển thị “Nội dung đầy đủ” thuộc tính E-mail của người nhận nhiều giá trị, chúng tôi có thể triển khai “giải pháp một phần” cho một người nhận cụ thể về vấn đề hiển thị nhiều địa chỉ E-mail, nhưng giải pháp này không đúng được triển khai trong kịch bản trong đó chúng tôi cần hiển thị thông tin về nhiều người nhận

Trong ví dụ sau, chúng tôi sử dụng lệnh PowerShell để lấy thông tin về
Angelina địa chỉ email.

Ví dụ về lệnh PowerShell

Get-Mailbox Angelina | Select-Object -ExpandProperty EmailAddresses

Trong kết quả đầu ra, chúng ta có thể thấy thuộc tính “EmailAddresses” bao gồm nhiều địa chỉ E-mail.

PS C:\script> Get-Mailbox Angelina | Select-Object -ExpandProperty EmailAddresses

smtp:Angelina@o365pilot.com
smtp:kk@o365info.com
SPO:SPO_5b27dc17-68b0-442e-804b-aee5b4df9847@SPO_e95bcc9e-2927-483d-ad36-7311a7152bdd
smtp:Angelina@o365info.com
SMTP:Angelina-NEW01@o365info.com
smtp:Angelina-Alias03@o365info.com
smtp:Angelina-Alias02@o365info.com

Xuất thông tin về địa chỉ E-mail của người nhận

Một trong những nhiệm vụ quản trị phổ biến nhất liên quan đến người nhận Exchange là nhu cầu xem và xuất thông tin về địa chỉ E-mail của người nhận.
Trong nhiều trường hợp, chúng ta sẽ cần “lưu” thông tin về E- của người nhận địa chỉ thư để sử dụng sau này bằng cách xuất thông tin vào một tệp.

Trong các bài viết trước, chúng tôi đã xem xét lệnh PowerShell với tiền tố Set , chẳng hạn như Set-Mailbox được sử dụng để cập nhật địa chỉ email người nhận Exchange.

Để nhận thông tin về thuộc tính cụ thể của người nhận Exchange Online, chẳng hạn như địa chỉ E-mail của người nhận, chúng tôi sử dụng lệnh PowerShell với tiền tố Nhận, chẳng hạn như Get-Mailbox.

Lệnh PowerShell Get-Mailbox hiển thị kết quả trên bảng điều khiển PowerShell. Trong trường hợp cần xuất thông tin, chúng tôi sẽ thêm một “phần” bổ sung vào lệnh PowerShell kèm theo hướng dẫn về loại tệp mà chúng tôi muốn sử dụng.

Xuất sang tệp bằng PowerShell và các định dạng tệp được hỗ trợ.

PowerShell hỗ trợ tùy chọn xuất đầu ra lệnh sang các định dạng tệp sau: Văn bản, CSV, HTML và XML.

Khi chúng ta muốn xuất “đầu ra lệnh” sang một Tệp, chúng ta cần “cho” PowerShell biết định dạng tệp bắt buộc mà chúng ta muốn sử dụng là gì.

Ngoài các lệnh ghép ngắn PowerShell mà chúng tôi sử dụng để xác định định dạng tệp cụ thể, chúng tôi có thể “thêm” tham số cụ thể liên quan đến định dạng tệp cụ thể.

Ví dụ: khi chúng tôi muốn xuất đầu ra lệnh PowerShell sang định dạng tệp CSV (Giá trị được phân tách bằng dấu phẩy), chúng tôi có thể thêm các tham số bổ sung như:

  • NoTypeInformation: Tùy chọn này ngăn PowerShell thêm thông tin không cần thiết vào tệp CSV.
  • Mã hóa UTF8: Trong trường hợp các đối tượng như người dùng hoặc hộp thư bao gồm các ký tự không phải tiếng Anh, chúng tôi có thể thêm “tham số định dạng” này để bật thông tin xuất PowerShell bao gồm các ký tự không phải tiếng Anh.

Tên tệp và tham số “đường dẫn ”

Yêu cầu bắt buộc khi xuất lệnh xuất ra tệp là “Tên tệp.

Phần bổ sung là “Path. ” Tham số “path ” xác định vị trí cụ thể mà chúng tôi muốn lưu tệp. Ví dụ - C:\Temp.

Tham số “path” không phải là tham số bắt buộc. Trong hầu hết các trường hợp, khi xuất thông tin sang một tệp, chúng tôi cũng sẽ cung cấp thông tin “đường dẫn”.

Trong trường hợp chúng tôi không cung cấp đường dẫn cụ thể, PowerShell sẽ xuất tệp vào thư mục mà chúng tôi chạy lệnh PowerShell.

Điều quan trọng cần đề cập là khi chúng tôi cung cấp tên của một đường dẫn cụ thể, chẳng hạn như C:\Temp, lệnh PowerShell “ngoại trừ ” rằng đường dẫn này đã được tạo.

Nói cách khác, theo mặc định, lệnh PowerShell sẽ không “tạo cho chúng tôi” một thư mục cụ thể đã được chỉ định trong tham số “đường dẫn”.

Ví dụ về cú pháp PowerShell để xuất thông tin sang nhiều loại tệp khác nhau

Phần sau đây bao gồm ví dụ về cú pháp lệnh PowerShell mà chúng tôi sử dụng để xuất thông tin về địa chỉ E-mail của người nhận hộp thư Exchange Online bằng bốn định dạng tệp.

Cú pháp lệnh để xuất được xây dựng từ hai phần:

  • Phần 1#2 - đây là một phần của lệnh ghép ngắn Nhận PowerShell để tìm nạp thông tin cụ thể.
  • Phần 2#2 - đây là phần chúng tôi xác định định dạng tệp cụ thể, đường dẫn và tên tệp.

Trong phần sau, chúng ta có thể xem ví dụ về “cú pháp xuất” cho bốn định dạng tệp - TXT, CSV, XML và HTML.

Xuất đầu ra lệnh PowerShell sang tệp Văn bản.

Get-Mailbox -ResultSize Unlimited |Select-Object DisplayName,PrimarySmtpAddress,EmailAddresses,EmailAddresses | Out-File C:\Temp\"Exchange Online recipients.TXT"

Xuất đầu ra lệnh PowerShell sang tệp CSV.

Get-Mailbox -ResultSize Unlimited |Select-Object DisplayName,PrimarySmtpAddress,EmailAddresses,EmailAddresses | Export-CSV C:\Temp\"Exchange Online recipients.CSV" -NoTypeInformation -Encoding UTF8

Xuất đầu ra lệnh PowerShell sang tệp HTML.

Get-Mailbox -ResultSize Unlimited |Select-Object DisplayName,PrimarySmtpAddress,EmailAddresses,EmailAddresses | ConvertTo-Html | Out-File C:\Temp\"Exchange Online recipients.HTML"

Xuất đầu ra lệnh PowerShell sang tệp XML.

Get-Mailbox -ResultSize Unlimited |Select-Object DisplayName,PrimarySmtpAddress,EmailAddresses,EmailAddresses | Export-Clixml C:\Temp\"Exchange Online recipients.XML"

Bài viết tiếp theo trong loạt bài hiện tại

Hiển thị thông tin về Địa chỉ E-mail bằng PowerShell | Tùy chỉnh đầu ra bằng Bảng băm và Biểu thức tùy chỉnh | Văn phòng 365 | Phần 7#13

Bài viết liên quan