Pretty sure Microsoft hates SysAdmins, and it's getting worse.
Save the CSV generation, use a group of some kind. I also used PrimarySMTP, just because:
#get users
$users = Get-DistributionGroupMember "GroupName" | Select PrimarySMTPAddress
#disable MS bullshit
ForEach ($user in $users)
{
$user.Userprincipalname
$upn = $user.PrimarySMTPAddress
$privacyMode = "Opt-out"
Set-MyAnalyticsFeatureConfig -Identity $upn -PrivacyMode $privacyMode}