Unfortunately there is no Set-AlarmAction cmdlet, which means we have to add/remove an action to update the To field
Something like this
$newEmail = 'my.new@email.address'
foreach($alarm in Get-AlarmDefinition){
foreach($action in (Get-AlarmAction -AlarmDefinition $alarm -ActionType SendEmail)){
$sAction = @{
AlarmDefinition = $alarm
Email = $true
Subject = $action.Subject
To = $newEmail
Body = $action.Body
Cc = $action.Cc
}
New-AlarmAction @sAction
Remove-AlarmAction -AlarmAction $action -Confirm:$false
}
}