Ich versuche, PowerShell über eine C# -Konsolen-App remote zu verwenden, um der gesperrten Liste Domänen und Absender hinzuzufügen.Verwenden von Set-SenderFilterConfig zum Hinzufügen statt Ersetzen
Ich versuche, die Syntax von https://technet.microsoft.com/en-us/library/aa996920(v=exchg.160).aspx zu verwenden, um nur die Sammlung zu ergänzen, anstatt sie zu ersetzen (was ich schon gemacht habe, Spaß mal), aber ich kann nicht scheinen, es richtig zu machen.
Der Wert der parameter
ist korrekt gemäß der Syntax @ coming out {hinzufügen = „[email protected]“}, aber ich bin immer die Fehlermeldung:
Cannot convert value "@{Add="[email protected]"}" to type "Microsoft.Exchange.Data.MultiValuedProperty`1[Microsoft.Exchange.Data.SmtpAddress]".
Error: "Failed to convert @{Add="[email protected]"} from System.String to Microsoft.Exchange.Data.SmtpAddress.
Error: Error while converting string '@{Add="[email protected]"}' to result type Microsoft.Exchange.Data.SmtpAddress: "@{Add="[email protected]"}" is not a valid SMTP address"
Es ist ziemlich offensichtlich, dass das ist, wie es ist, ist keine gültige SMTP-Adresse, aber Gibt es ein Flag, das ich vermisse, das das 'Hinzufügen' zwingt zu arbeiten?
if (acceptedDomains.Contains(item.Subject.Split('@').Last()))
{
var parameter = new CommandParameter("BlockedSenders", @"@{Add=""" + item.Subject + @"""}");
command.Parameters.Add(parameter);
}
else
{
var parameter = new CommandParameter("BlockedDomainsAndSubdomains", @"@{Add=""" + item.Subject.Split('@').Last() + @"""}");
command.Parameters.Add(parameter);
}
pipeline = runspace.CreatePipeline();
pipeline.Commands.Add(command);
results = pipeline.Invoke();
Es funktioniert! Vielen Dank. Ich wünschte wirklich, es gäbe mehr Dokumentation dazu. Würde das Hinzufügen von multiple nur 'new Hashtable {{" Add ", item.Subject}, {" Add ", item2.Subject}}' oder '{" Add ", item.Subject, item2.Subject}'? – Blinx