Tìm kiếm trang web

Cách kết nối PowerShell với Office 365


PowerShell là một cách tuyệt vời để quản lý môi trường Office 365 của bạn. Nó cho phép bạn tự động hóa nhiều tác vụ bằng cách viết tập lệnh của riêng bạn hoặc thay đổi cài đặt bằng một lệnh duy nhất. Tất nhiên, bây giờ, bước đầu tiên là Kết nối PowerShell với Office 365.

Có hai cách để kết nối với Office 365 trong PowerShell. Mô-đun Microsoft Azure Active Directory dành cho Windows Powershell(MSOnline) và Azure Active Directory PowerShell mới hơn cho Graph (AzureAD).

Bạn sẽ cần cả hai tại thời điểm viết bài, AzureAD là phiên bản kế thừa của MSOnline, nhưng không phải tất cả các chức năng đều có sẵn trong mô-đun AzureAD mới hơn.

Cài đặt mô-đun PowerShell

Đầu tiên, chúng ta sẽ cài đặt cả hai mô-đun PowerShell. Bạn có thể sử dụng cả hai cùng nhau trên hệ thống của mình mà không gặp vấn đề gì.

Bước 1 - Cài đặt mô-đun AzureAD trong PowerShell

Mở PowerShell ở chế độ quản trị viên (Phím Windows + X và chọn Windows PowerShell (Quản trị viên))
Nhập lệnh sau:

# This will install the AzureAD module from the PowerShell Gallery, you might get a warning that the # source is untrusted, but you can safely type Y and press enter.

Install-Module AzureAD

Bước 2 - Cài đặt Trợ lý đăng nhập dịch vụ trực tuyến của Microsoft

Mô-đun MSOnline yêu cầu phải làm việc nhiều hơn một chút. Trước tiên, hãy tải xuống và cài đặt Trợ lý đăng nhập dịch vụ trực tuyến của Microsoft.

Tiếp theo, chúng ta sẽ cài đặt mô-đun trong PowerShell. Chạy lệnh sau trong PowerShell:

Install-Module MSOnline

Kết nối PowerShell với Office 365

Hiện tại, chúng tôi đã cài đặt cả hai mô-đun, vì vậy giờ đây chúng tôi có thể kết nối PowerShell với Office 365. Hầu hết tài liệu vẫn được viết cho mô-đun MSOnline, vì vậy hãy bắt đầu từ đó.

Để kết nối với dịch vụ MSOnline, bạn cần chạy lệnh Connect-MSolService, lệnh này sẽ nhắc bạn với Hộp đăng nhập Microsoft tiêu chuẩn cho thông tin xác thực Office 365 của bạn.

Bây giờ bạn có thể sử dụng lệnh ghép ngắn MSol trong PowerShell, bạn có thể tìm thấy thông tin tổng quan về lệnh ghép ngắn tại đây trong Microsoft Docs

Kết nối với AzureAD

Việc kết nối AzureAD mới cũng khá giống nhau, chỉ cần chạy lệnh Connect-AzureAD. Bạn sẽ được nhắc đăng nhập bằng tài khoản Microsoft của mình, giống như với Msol. Bạn có thể tìm thấy tổng quan về các lệnh ghép ngắn từ mô-đun AzureAD tại đây.

Powershell Kết nối với Exchange trực tuyến

Khuyên bảo

Tôi đã viết một bài viết cập nhật về cách kết nối Exchange Online bằng mô-đun Exchange Online V2 mới. Hãy chắc chắn rằng bạn đọc bài viết đó đầu tiên!

Việc kết nối với Exchange Online hơi khác một chút, bạn không cần cài đặt mô-đun cho việc này. Nhưng chúng ta sẽ tạo kết nối với Exchange Online bằng tính năng điều khiển từ xa tiềm ẩn.

Với mã bên dưới, chúng tôi đang tạo một đối tượng thông tin xác thực, xây dựng phiên và nhập nó vào phiên PowerShell của chúng tôi:

$Cred = Get-Credential
$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://ps.outlook.com/powershell/ -Credential $Cred -Authentication Basic -AllowRedirection
Import-PSSession $Session -DisableNameChecking

Nếu bạn đang sử dụng MFA (Xác thực đa yếu tố) thì bạn không thể sử dụng phương thức Nhận thông tin xác thực.

Bây giờ bạn có hai tùy chọn để giải quyết vấn đề này, sử dụng Mật khẩu ứng dụng hoặc sử dụng Mô-đun PowerShell từ xa của Exchange Online.

Tôi thích sử dụng mật khẩu ứng dụng hơn, bằng cách này bạn có thể nhanh chóng thiết lập kết nối với tất cả các dịch vụ Office 365 bằng PowerShell.

Sử dụng mật khẩu ứng dụng

MFA là một bổ sung bảo mật tuyệt vời nhưng có thể gây khó khăn khi tự động hóa mọi thứ với PowerShell. Để giải quyết vấn đề này, bạn có thể tạo Mật khẩu ứng dụng trong Office 365. Đây là mật khẩu mạnh mà bạn có thể sử dụng cho ứng dụng không hỗ trợ MFA.

  1. Đăng nhập vào Office 365 và truy cập https://portal.office.com/account/#security.
  2. Chọn Xác minh bảo mật bổ sung
  3. Chọn Tạo và quản lý mật khẩu ứng dụng (dòng cuối cùng)
  4. Tạo mật khẩu ứng dụng mới cho PowerShell

Bây giờ nếu bạn muốn kết nối Office 365 với PowerShell, bạn có thể thực hiện như sau:

# Store your credentials - Enter your username and the app password
$Cred = Get-Credential

# Connect to Msol
Connect-MsolService -Credential $Cred

# Connect to AzureAd
Connect-AzureAD -Credential $Cred

# Connect to Exchange Online
$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://ps.outlook.com/powershell/ -Credential $Cred -Authentication Basic -AllowRedirection
Import-PSSession $Session -DisableNameChecking

Như bạn có thể thấy, bạn chỉ phải đăng nhập một lần. Chúng ta có thể sử dụng cùng một đối tượng thông tin xác thực cho mọi kết nối.

Nếu cũng đã tạo một vài tập lệnh PowerShell mà bạn có thể sử dụng để dễ dàng kết nối với tất cả các dịch vụ Office 365. Bạn sẽ tìm thấy chúng trong Thư viện TechNet của tôi. Họ có khả năng lưu trữ Mật khẩu ứng dụng dưới dạng chuỗi bảo mật trên máy tính của bạn, do đó bạn có thể tự động hóa hoàn toàn các tập lệnh của mình.

Phần kết luận

Việc kết nối với Office 365 bằng PowerShell thực sự rất đơn giản. Nếu bạn đang sử dụng MFA thì Mật khẩu ứng dụng là cách thuận tiện nhất.

Khi bạn hoàn tất Exchange Online, hãy luôn đảm bảo rằng bạn đóng phiên bằng Remove-PSSession $Session.

Bài viết liên quan