Dùng PowerShell tương tác với Azure

psPowerShell là gì: Hiểu đơn giản nó tường tự như là Bash trên môi trường Window. Được viết trên nền .Net

Đặc điểm: Coi mọi thứ là đối tượng, hỗ trợ đường ống => hơi khó giải thích. Thao tác chủ yếu với text.

Ai dùng: Quản trị viên, những ông không thích dùng giao diện chậm chạp và chán ngắt... để tự động hoá một loạt các thao tác, quản lý hệ thống, lên lịch, tạo báo cáo...


# Cài đặt module trên PowerShell:

  • Chạy PS với quyền Administrator và cài các gói sau:
  • Install-Module MSOnline
  • Install-Module AzureAD
  • Install-Module AzureRM

# Connect service:

  • $msolcred = Get-Credential # Lưu cred để không phải đăng nhập nhiều
  • Connect-MsolService -Credential $msolcred
  • Get-MsolAccountSku # Show licences
  • Get-MsolUser -UserPrincipalName duc1514064@nuce.edu.vn

# LẦN 1 - TẠO  ALL NHƯNG BỊ LỖI 223 SV CHƯA CÓ MẬT KHẨU:

  • Import-Csv -Path "C:\Users\Thinkpad\Desktop\create.csv" | foreach { New-MsolUser -FirstName $_.FirstName -LastName $_.LastName -DisplayName $_.DisplayName -UserPrincipalName $_.UserPrincipalName -Password $_.Password -UsageLocation $_.UsageLocation -LicenseAssignment "nuceedu:STANDARDWOFFPACK_IW_STUDENT" -Department $_.Department -Title $_.Title -MobilePhone $_.MobilePhone -StreetAddress $_.StreetAddress -City $_.City -State $_.State -PostalCode $_.PostalCode -Country $_.Country -ForceChangePassword $false -StrongPasswordRequired $false } | Export-Csv -Path "C:\Users\Thinkpad\Desktop\created.csv"

# LẦN 2 - TẠO 223 SV CHƯA CÓ MẬT KHẨU:

  • Import-Csv -Path "C:\Users\Thinkpad\Desktop\223user.csv" | foreach { New-MsolUser -FirstName $_.FirstName -LastName $_.LastName -DisplayName $_.DisplayName -UserPrincipalName $_.UserPrincipalName -UsageLocation $_.UsageLocation -LicenseAssignment "nuceedu:STANDARDWOFFPACK_IW_STUDENT" -Department $_.Department -Title $_.Title -MobilePhone $_.MobilePhone -StreetAddress $_.StreetAddress -City $_.City -State $_.State -PostalCode $_.PostalCode -Country $_.Country -ForceChangePassword $false -StrongPasswordRequired $false } | Export-Csv -Path "C:\Users\Thinkpad\Desktop\223user-log.csv"

# LẦN 3 - SET LẠI TÊN 581 user & LICENSES:

  • Import-Csv -Path "C:\Users\Thinkpad\Desktop\setName.csv" | foreach { Set-MsolUser -UserPrincipalName $_.UserPrincipalName -FirstName $_.FirstName -LastName $_.LastName -DisplayName $_.DisplayName  -UsageLocation $_.UsageLocation -Department $_.Department -Title $_.Title -MobilePhone $_.MobilePhone -StreetAddress $_.StreetAddress -City $_.City -State $_.State -PostalCode $_.PostalCode -Country $_.Country }
  • Import-Csv -Path "C:\Users\Thinkpad\Desktop\create.csv" | foreach { Set-MsolUserLicense -UserPrincipalName $_.UserPrincipalName -AddLicenses "nuceedu:STANDARDWOFFPACK_IW_STUDENT" }

# RESET PASS:

  • Set-MsolUserPassword -UserPrincipalName lichcongtac@nuce.edu.vn -NewPassword dhxd1234 -ForceChangePassword $False

# GROUP OFFICE 365 (MS TEAMS):

# THAM KHẢO:


THAO TÁC VỚI GSUITE QUA DÒNG LỆNH (Cmd.exe và PowerShell)

(Yêu cầu phải tạo App OAuth cho phép gọi Api Services trên console.developers.google.com/)

# Một là dùng GAM (Google Admin Mananger) chạy qua cmd.exe, ko biết cầu hình qua PowerShell hay Bash kiểu gì:

# Hai có thể dùng PSGSuite (Power Support Gsuite) chạy qua PowerShell:

  • Lưu ý: chỉ thao tác được với loại PowerShell khi cài đặt Module, nếu cài trên PS 7.1  dùng PS 5.1 ko thao tác được.

# Phục hồi email dat46862@nuce.edu.vn

# Các câu lệnh hay dùng

  • Update-GSUser [-User]  [-PrimaryEmail ] [-FullName ] [-Password ] [-ChangePasswordAtNextLogin] [-OrgUnitPath ] [-Suspended] [-Addresses ] [-Emails ] [-ExternalIds ] [-Ims ] [-Locations ] [-Organizations ] [-Relations ] [-RecoveryEmail ] [-RecoveryPhone ] [-Phones ] [-IncludeInGlobalAddressList] [-IpWhitelisted] [-IsAdmin] [-Archived] [-CustomSchemas ] [-WhatIf] [-Confirm] []

# Lấy thông tin người dùng

# Cập nhật số điện thoại và email phục hồi:

# Công thức Google sheet

  • =CONCATENATE("Update-GSUser -User ", C9, " -Password (ConvertTo-SecureString  ", char(34),J9, char(34), " -AsPlainText -Force) -ChangePasswordAtNextLogin:$false -Confirm:$false")

# Reset password a user

  • Update-GSUser -User anhtth@nuce.edu.vn -Password (ConvertTo-SecureString  "22081987@anh" -AsPlainText -Force) -ChangePasswordAtNextLogin:$false -Confirm:$false

ps2