Set-ExecutionPolicy -ExecutionPolicy bypass -Scope CurrentUser
Install-Module Microsoft.Graph -Scope CurrentUser
import-module Microsoft.Graph.*
Write-Output "suscessfull imported Microsoft Graph"
Connect-MgGraph -Scopes ((Find-MgGraphCommand -command Get-Mgusermailfolder).name)
if ((Get-MgUser).count -eq 1) {
$userid = (Get-MgUser).UserPrincipalName
Write-Output "logged in as $userid"
} else {
$list = (Get-MgUser).UserPrincipalName | Foreach-Object {
@{ ++$num = $_ }
}
Write-Output "please select a email address."
Write-Output $list
try {
[int] $sel = Read-Host
$userid = ((Get-MgUser).UserPrincipalName)[$sel -1]
Write-Output "logged in as $userid"
}
catch {
throw "not a valid input!"
}
}
$id = (Get-MgUserMailFolder -u $userid).SyncRoot | Where-Object DisplayName -eq Inbox |ForEach-Object Id
Write-Output "retrived inbox id"
Write-Output "$id"
(Get-MgUserMessage -u $userid -all)| ForEach-Object {
if ($_.ParentFolderId -ne $id ) {
return
}
Remove-MgUserMessage -UserId $userid -MessageId $_.Id
Write-Output "deleted $($_.Subject)"
}
Disconnect-MgGraph