SQL Server AS: Set ImpersonationMode via PS
Got it working:

$ImpInfo=New-Object Microsoft.AnalysisServices.ImpersonationInfo
$ImpInfo.ImpersonationMode = 'ImpersonateServiceAccount'

$db.DataSourceImpersonationInfo = $ImpInfo
$db.update()


here a full working PowerShell (PS) example

[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.AnalysisServices")
$DBASserver = New-Object Microsoft.AnalysisServices.Server
$DBASserver.connect("mysqldbserver.dom.com")

$database=$DBASserver.databases
$database|select-object name, id

$DBASserver.databases.add("Finance5")

$db = $DBASserver.databases.item("Finance5")
$db.update()
$db.description = "Finance Test 5"
$db.update()

$db = $DBASserver.databases.item("Finance5")
$dbmode = $db.DataSourceImpersonationInfo
$dbmode #This doesn't post info, maybe a refresh issue. 

$ImpInfo=New-Object Microsoft.AnalysisServices.ImpersonationInfo
$ImpInfo.ImpersonationMode = 'ImpersonateServiceAccount'

$db.DataSourceImpersonationInfo = $ImpInfo
$db.update()
$db.description = "Finance Test 5 now changed ImpersonationInfo"
$db.update()
$dbmode = $db.DataSourceImpersonationInfo
$dbmode