PowerShell deprovision O 365リソースの使用
自分で書いたスクリプトを共有しましょう.時々、自分のO 365のアカウントを使ってテストをする必要があります.テストの環境をよりリアルにし、生産環境に近づけるために、スクリプトでユーザーを作成し、メール、カレンダー、その他のデータを生成することが多いです.テストが完了すると、これらのユーザーやデータは処理する必要があります.カスタムドメインを使用したユーザーやグループなどを削除しないと、ドメイン名は消去できません.手動で削除することはもちろんできますが、便宜上、O 365のユーザーやグループをスクリプトで直接消去することができます.自分で簡単なシナリオを書けばできます.もちろんGlobal adminにとって、これは勝手に削除することはできません.
以下はスクリプトの内容です.実行する前にMS Online Moduleをインストールする必要があります.
シナリオはかなり簡単で、基本的に読めますが、実験環境にとっては使いやすいです.もちろん、いくつかのexchange onlineの連絡先やその他のデータがある場合は、自動的に消去するには、exchange onlineのmoduleを使用する必要がありますが、これは一つ一つ紹介しません.
以下はスクリプトの内容です.実行する前にMS Online Moduleをインストールする必要があります.
try
{
$Error.clear()
Write-Host "$(Get-Date) * Deprovision users.."
$Users = Get-MsolUser -All -ErrorAction Stop
$Users | %{
$Role = Get-MsolUserRole -UserPrincipalName $_.UserPrincipalName
# Global Admin
if (($Role -eq $null) -or ($Role.ObjectId -ne "62e90394-69f5-4237-9190-012177145e10"))
{
Remove-MsolUser -UserPrincipalName $_.UserPrincipalName -Force -ErrorAction Stop
Write-Host "$(Get-Date) * $($_.UserPrincipalName) removed.."
}
}
Start-Sleep 1
#
Get-MsolUser -ReturnDeletedUsers -ErrorAction Stop | Remove-MsolUser -RemoveFromRecycleBin -Force -ErrorAction Stop
Write-Host "$(Get-Date) * Done. Users already deleted"
Start-Sleep 1
Write-Host "$(Get-Date) * Deprovision Groups.."
Get-MsolGroup -ErrorAction Stop | Remove-MsolGroup -Force -ErrorAction Stop
Write-Host "$(Get-Date) * Done. Groups already deleted"
}
catch
{
Write-Warning $Error[0].Exception.Message
}
シナリオはかなり簡単で、基本的に読めますが、実験環境にとっては使いやすいです.もちろん、いくつかのexchange onlineの連絡先やその他のデータがある場合は、自動的に消去するには、exchange onlineのmoduleを使用する必要がありますが、これは一つ一つ紹介しません.