Microsoft Office

PowerShell quản trị Microsoft 365: bắt đầu từ đâu

Thanh Nguyễn Cập nhật Đăng 8 phút đọc 2 khối lệnh

PowerShell quản trị Microsoft 365: bắt đầu từ đâu
Mục lục bài viết
  1. Khi nào cần tới nó
  2. Chuẩn bị
  3. Bốn việc đáng làm đầu tiên
  4. Chạy an toàn
  5. Học tiếp thế nào
  6. Bốn lệnh nên chạy trong buổi đầu
  7. Chạy an toàn, năm quy tắc
  8. Chuẩn bị một lần, dùng mãi
  9. Câu hỏi thường gặp
  10. Bài viết liên quan

Trả lời nhanh: PowerShell dùng khi cần làm hàng loạt, cần thông tin giao diện không hiện, hoặc cần lặp lại chính xác một việc. Bốn việc đáng bắt đầu: xuất báo cáo, thao tác hàng loạt trên người dùng, cấu hình hộp thư, và kiểm tra cấu hình. Luôn chạy thử ở chế độ không thay đổi trước.

Không phải người quản trị nào cũng cần PowerShell, nhưng có vài việc mà không có nó thì rất mất công. Bài này nói bắt đầu từ đâu.

Khi nào cần tới nó

Giao diện quản trị làm được phần lớn công việc hằng ngày. PowerShell đáng dùng trong bốn tình huống.

  • Làm cùng một việc cho nhiều người. Đặt trả lời tự động cho ba mươi người trước kỳ nghỉ. Bấm tay là ba mươi lần, chạy lệnh là một lần.
  • Cần thông tin giao diện không hiện. Nhiều thuộc tính của hộp thư và nhiều cấu hình chỉ xem được qua lệnh.
  • Cần xuất báo cáo theo cách riêng. Báo cáo có sẵn không phải lúc nào cũng đúng thứ bạn cần trình bày.
  • Cần lặp lại chính xác một việc. Quy trình tạo tài khoản cho nhân viên mới, chạy bằng lệnh thì lần nào cũng giống nhau.

Khi nào không cần: công ty dưới hai chục người, ít thay đổi nhân sự, không có yêu cầu báo cáo đặc thù. Khi đó giao diện là đủ và việc học PowerShell không đáng công.

Chuẩn bị

Bốn bước.

  1. Cài các mô đun quản trị của Microsoft. Có mô đun cho Exchange, cho Teams, cho quản lý người dùng và các dịch vụ khác. Tên và cách cài thay đổi theo thời gian, nên làm theo tài liệu chính thức hiện hành.
  2. Dùng một tài khoản quản trị riêng, không phải tài khoản bạn dùng hằng ngày để đọc thư. Đây là nguyên tắc bảo mật cơ bản.
  3. Chuẩn bị cho xác thực nhiều yếu tố. Các mô đun hiện đại hỗ trợ đăng nhập tương tác có xác thực, nên đừng tắt xác thực để tiện chạy lệnh.
  4. Chạy thử một lệnh chỉ đọc trước, chẳng hạn liệt kê người dùng, để xác nhận kết nối hoạt động.

Về hệ điều hành: PowerShell chạy trên Windows, macOS và Linux, nhưng một số mô đun cũ chỉ hỗ trợ Windows. Kiểm trước nếu bạn không dùng Windows.

Bốn việc đáng làm đầu tiên

Một, xuất danh sách người dùng và giấy phép ra tệp bảng tính. Đây là báo cáo hữu ích nhất cho việc rà soát trước kỳ gia hạn, và nó là lệnh chỉ đọc nên hoàn toàn an toàn để tập.

Hai, thao tác hàng loạt trên người dùng. Đặt trả lời tự động, thêm nhiều người vào một nhóm, cập nhật thông tin phòng ban. Bắt đầu bằng một người trước khi chạy cho cả danh sách.

Ba, cấu hình hộp thư. Cấp quyền truy cập hộp thư dùng chung, đặt quyền gửi thay mặt, bật hộp thư lưu trữ hàng loạt. Nhiều thao tác trong nhóm này chỉ làm được bằng lệnh.

Bốn, kiểm tra cấu hình. Liệt kê tất cả quy tắc chuyển tiếp thư đang tồn tại trong tổ chức. Đây là một lệnh và nó phát hiện được các quy tắc do kẻ tấn công để lại, thứ mà không ai tìm ra bằng cách bấm tay qua từng hộp thư.

Việc thứ tư là ví dụ rõ nhất cho câu hỏi vì sao đáng học: nó không có tương đương trong giao diện.

Chạy an toàn

Năm nguyên tắc, và nguyên tắc đầu quan trọng nhất.

  1. Luôn chạy thử ở chế độ không thay đổi trước. Nhiều lệnh có tham số cho phép xem trước kết quả mà không thực hiện. Dùng nó mỗi lần chạy lệnh thay đổi dữ liệu.
  2. Chạy cho một người trước khi chạy cho cả danh sách. Xác nhận kết quả đúng rồi mới mở rộng.
  3. Xuất trạng thái hiện tại ra tệp trước khi thay đổi. Đó là bản ghi để đối chiếu và để khôi phục nếu sai.
  4. Đừng chép lệnh từ mạng rồi chạy ngay. Đọc hiểu từng phần trước. Một lệnh xóa chạy nhầm phạm vi là sự cố lớn.
  5. Lưu lại các lệnh đã dùng vào một tệp có ghi chú. Sau sáu tháng bạn sẽ không nhớ, và đó cũng là tài liệu cho người kế nhiệm.

Điểm thứ năm biến PowerShell từ công cụ cá nhân thành tài sản của tổ chức.

Học tiếp thế nào

Bốn nguồn, theo thứ tự đáng dùng.

  • Tài liệu chính thức của Microsoft cho từng lệnh, luôn cập nhật và có ví dụ.
  • Lệnh trợ giúp có sẵn trong PowerShell, gõ nó với tên lệnh là ra cú pháp và ví dụ ngay trong cửa sổ.
  • Bắt đầu từ việc thật của công ty bạn, không phải từ khóa học tổng quát. Học nhanh nhất khi bạn đang cần giải quyết một việc cụ thể.
  • Xây dần một thư viện lệnh của riêng công ty, mỗi lần giải quyết một việc thì lưu lệnh lại kèm ghi chú.

Về mức độ đầu tư: bạn không cần thành lập trình viên. Với người quản trị Microsoft 365 ở doanh nghiệp vừa, biết chừng hai chục lệnh và hiểu cách nối chúng lại là đã đủ cho gần hết công việc thực tế.

Bốn lệnh nên chạy trong buổi đầu

PowerShellBốn lệnh nên chạy trong buổi đầupowershell
Connect-MgGraph -Scopes "User.Read.All","Directory.Read.All","AuditLog.Read.All"Connect-ExchangeOnline # 1. Ai chua bat xac thuc nhieu yeu toGet-MgUser -All | ForEach-Object {  $m = Get-MgUserAuthenticationMethod -UserId $_.Id  if ($m.Count -le 1) { $_.UserPrincipalName }} # 2. Ghe da mua so voi ghe da ganGet-MgSubscribedSku | Select SkuPartNumber,  @{n="DaMua";e={$_.PrepaidUnits.Enabled}},  @{n="DaGan";e={$_.ConsumedUnits}} # 3. Quy tac chuyen tiep thu ra ngoai, dau hieu tai khoan bi chiemGet-Mailbox -ResultSize Unlimited | Where { $_.ForwardingSmtpAddress } |  Select DisplayName, ForwardingSmtpAddress # 4. Tai khoan lau khong dang nhapGet-MgUser -All -Property DisplayName,UserPrincipalName,SignInActivity |  Select DisplayName, @{n="LanCuoi";e={$_.SignInActivity.LastSignInDateTime}} | Sort LanCuoi

Bốn lệnh này trả lời bốn câu hỏi mà giao diện web mất rất nhiều thao tác mới trả lời được. Đây là lý do đáng học dòng lệnh: không phải để làm mọi thứ bằng lệnh, mà để làm được những việc mà giao diện không làm nổi.

Chạy an toàn, năm quy tắc

  • Luôn chạy lệnh đọc trước lệnh ghi. Xem kết quả rồi mới hành động.
  • Dùng tham số chạy thử nếu lệnh có, để xem nó sẽ làm gì mà chưa làm thật.
  • Với lệnh tác động hàng loạt, thử trên một tài khoản trước. Lệnh chạy trên toàn tổ chức mà sai là sự cố lớn.
  • Lưu kết quả ra tệp trước khi thay đổi, để có bản trạng thái cũ mà quay lại.
  • Đừng chép lệnh trên mạng rồi chạy thẳng. Đọc hiểu từng dòng, nhất là các lệnh có chữ xóa hoặc gỡ.

Chuẩn bị một lần, dùng mãi

PowerShellChuẩn bị một lần, dùng mãipowershell
# Cai cac mo dun can thiet, chay bang quyen quan triInstall-Module Microsoft.Graph -Scope CurrentUserInstall-Module ExchangeOnlineManagement -Scope CurrentUser # Kiem phien ban va cap nhat dinh kyGet-Module Microsoft.Graph -ListAvailable | Select Name, VersionUpdate-Module Microsoft.Graph # Chi xin dung quyen can, khong xin quyen thuaConnect-MgGraph -Scopes "User.Read.All" # Ngat ket noi khi xong, nhat la tren may dung chungDisconnect-MgGraphDisconnect-ExchangeOnline -Confirm:$false

Câu hỏi thường gặp

Không biết lập trình có học được không

Được. PowerShell dùng cấu trúc động từ và danh từ khá dễ đoán, và phần lớn công việc quản trị chỉ cần các lệnh có sẵn chứ không cần viết chương trình.

Chạy lệnh có rủi ro gì không

Rủi ro thật là chạy nhầm phạm vi, chẳng hạn áp một thay đổi cho toàn tổ chức thay vì một phòng. Vì thế luôn chạy thử ở chế độ không thay đổi và thử với một người trước.

Có cần cài trên máy chủ riêng không

Không. Chạy được trên máy tính cá nhân của người quản trị. Chỉ khi cần chạy tự động theo lịch thì mới cần một máy luôn bật.

Có thay thế được giao diện quản trị không

Không thay thế hoàn toàn và cũng không nên. Giao diện tiện cho việc hằng ngày và cho việc xem tổng quan. PowerShell bù đắp những chỗ giao diện không làm được.

Chia sẻ:Facebook

Thanh Nguyễn

TND

Tư vấn bản quyền, VPS và máy chủ kèm hóa đơn VAT, hợp đồng đầy đủ cho doanh nghiệp.