PowerShell deprovision O 365リソースの使用


自分で書いたスクリプトを共有しましょう.時々、自分のO 365のアカウントを使ってテストをする必要があります.テストの環境をよりリアルにし、生産環境に近づけるために、スクリプトでユーザーを作成し、メール、カレンダー、その他のデータを生成することが多いです.テストが完了すると、これらのユーザーやデータは処理する必要があります.カスタムドメインを使用したユーザーやグループなどを削除しないと、ドメイン名は消去できません.手動で削除することはもちろんできますが、便宜上、O 365のユーザーやグループをスクリプトで直接消去することができます.自分で簡単なシナリオを書けばできます.もちろんGlobal adminにとって、これは勝手に削除することはできません.
以下はスクリプトの内容です.実行する前に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を使用する必要がありますが、これは一つ一つ紹介しません.