Ich versuche, ein PowerShell-Skript zu schreiben, das eine CSV-Datei als Eingabe verwendet, die die Durcheinander-Funktion in Office 365 deaktiviert. Die CSV-Datei hat nur eine Spalte und die zwei Ziele E-Mail-Adressen, die ich zum Testen verwende. Wenn ich dieses Skript mit einer Read-Host-Zeile ausführe und eine gültige E-Mail-Adresse eingabe, funktioniert es ohne Fehler. Wenn ich die CSV-Datei verwende, folgen Fehler.Zugriff auf von PowerShell neu gesendete Daten Import-CSV
Import-Module MSOnline
$LiveCred = Get-Credential
$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://ps.outlook.com/PowerShell -Credential $LiveCred -Authentication Basic -AllowRedirection
Import-PSSession -allowclobber $Session
Connect-MsolService -Credential $LiveCred
cd c:\scripts
Write-Host "This tool removes the Clutter feature from O365 "
$Clutter = Import-Csv .\Clutteroff.csv
foreach ($user in $Clutter){
Set-Clutter -Identity $User -Enable $false
}
Als ich das laufen bekomme ich folgende Fehlermeldung:
Cannot process argument transformation on parameter 'Identity'. Cannot convert value "@{[email protected]}" to type "Microsoft.Exchange.Configuration.Tasks.MailboxIdParameter". Error: "Cannot convert hashtable to an object of the following type: Microsoft.Exchange.Configuration.Tasks.MailboxIdParameter. Hashtable-to-Object conversion is not supported in restricted language mode or a Data section."
+ CategoryInfo : InvalidData: (:) [Set-Clutter], ParameterBindin...mationException
+ FullyQualifiedErrorId : ParameterArgumentTransformationError,Set-Clutter
+ PSComputerName : ps.outlook.com
Jede Hilfe würde geschätzt und Erklärungen werden zusätzliche Kredite bekommen :)
CSV-Datei = Benutzer, XXXX @ MyCompany.com, [email protected]
E-Mail-Adressen sind gültig.
Ist Ihr CSV nur die eine _column_? – Matt
'Set-Clutter -Identity $ User.UserID -Enable $ false' möglicherweise, wenn ich in Ihre CSV-Struktur einlesen kann. Es sieht so aus, als wäre Ihre Identität ein Objekt mit einer Benutzer-ID-Eigenschaft. Sie müssen die Eigenschaft aus dem Objekt extrahieren. Sie haben auch einen leeren "Header", der ein Tippfehler sein könnte. – Matt
-header ist ein Tippfehler bei früheren Versuchen, das Skript zu reparieren. Die CSV-Struktur ist also sehr einfach für diesen Test. Die fünf wurde in Excel erstellt und hat 3 Einträge. Diese Einträge sind meine Gruppen E-Mail-Adressen in den Zellen 1A, 2A, 3A und dann als CSV-Datei gespeichert. $ User sollte nur = der Text in 1A, 2A .... –