pianoman82
Goto Top

Verteilergruppe per Powershell anlegen

Hallo!

Ich versuche per Powershell Verteilergruppen in Exchange Online anzulegen und scheiter mit meinem Skript an dem Parameter "RequireSenderAuthenticationEnabled".

Ich lese die einzelnen Felder aus einer CSV-Datei aus. Wohlgemerkt ist in der betroffenen Spalte "RequireSenderAuthenticationEnabled" entweder der Wert "False" oder der Wert "True" als String hinterlegt, wohlgemerkt ohne Dollarzeichen. Als Boolean sollte am Ende entweder "$False" oder "$True" übergeben werden.

Für das Ausführen per Powershell muss nun der Wert als Boolean übergeben werden, hier scheiter ich leider. Ich habe versucht den String zu konvertieren, leider ohne Erfolg.

Für geübte Powershell-Spezies sicher eine Kleinigkeit.

Mein Skript sieht aktuell so aus:

Import-Csv -Path $Csvfile | foreach {New-DistributionGroup -Name $_.DisplayName -PrimarySmtpAddress $_.PrimarySmtpAddress -SecondaryStmpAddress $_.SecondaryStmpAddress -Alias $_.Alias -GroupType $_.GroupType -RecipientType $_.RecipientType -Members $_.Members.Split(",") -MembersPrimarySmtpAddress $_.MembersPrimarySmtpAddress -ManagedBy $_.ManagedBy.Split(",") -HiddenFromAddressLists $_.HiddenFromAddressLists -MemberJoinRestriction $_.MemberJoinRestriction -MemberDepartRestriction $_.MemberDepartRestriction -RequireSenderAuthenticationEnabled [System.Convert]::ToBoolean($_.RequireSenderAuthenticationEnabled) -AcceptMessagesOnlyFrom $_.AcceptMessagesOnlyFrom -GrantSendOnBehalfTo $_.GrantSendOnBehalfTo}  

Kann mir Jemand kurzfristig einen Tipp geben?

Danke und viele Grüße

Content-Key: 3090932887

Url: https://administrator.de/contentid/3090932887

Printed on: May 7, 2024 at 22:05 o'clock

Mitglied: 148523
148523 Jun 16, 2022 updated at 13:50:06 (UTC)
Goto Top
Wäre dann nicht die Rubrik Batch & Shell vielleicht die Richtigere?
(Kann man nachträglich verschieben!)
Member: Dani
Dani Jun 16, 2022 at 18:01:15 (UTC)
Goto Top
Moin,
das Schlüsselwort heißt "Escaping".


Probier es mal so:
Import-Csv -Path $Csvfile | foreach {New-DistributionGroup -Name $_.DisplayName -PrimarySmtpAddress $_.PrimarySmtpAddress -SecondaryStmpAddress $_.SecondaryStmpAddress -Alias $_.Alias -GroupType $_.GroupType -RecipientType $_.RecipientType -Members $_.Members.Split(",") -MembersPrimarySmtpAddress $_.MembersPrimarySmtpAddress -ManagedBy $_.ManagedBy.Split(",") -HiddenFromAddressLists $_.HiddenFromAddressLists -MemberJoinRestriction $_.MemberJoinRestriction -MemberDepartRestriction $_.MemberDepartRestriction -RequireSenderAuthenticationEnabled '$_.RequireSenderAuthenticationEnabled' -AcceptMessagesOnlyFrom $_.AcceptMessagesOnlyFrom -GrantSendOnBehalfTo $_.GrantSendOnBehalfTo}  
oder
Import-Csv -Path $Csvfile | foreach {New-DistributionGroup -Name $_.DisplayName -PrimarySmtpAddress $_.PrimarySmtpAddress -SecondaryStmpAddress $_.SecondaryStmpAddress -Alias $_.Alias -GroupType $_.GroupType -RecipientType $_.RecipientType -Members $_.Members.Split(",") -MembersPrimarySmtpAddress $_.MembersPrimarySmtpAddress -ManagedBy $_.ManagedBy.Split(",") -HiddenFromAddressLists $_.HiddenFromAddressLists -MemberJoinRestriction $_.MemberJoinRestriction -MemberDepartRestriction $_.MemberDepartRestriction -RequireSenderAuthenticationEnabled "`$_.RequireSenderAuthenticationEnabled" -AcceptMessagesOnlyFrom $_.AcceptMessagesOnlyFrom -GrantSendOnBehalfTo $_.GrantSendOnBehalfTo}  
Wie immer ungetestet...


Gruß,
Dani
Member: colinardo
colinardo Jun 17, 2022 updated at 09:55:58 (UTC)
Goto Top
Servus, hier fehlen Klammern beim Zuweisen des Parameter Wertes durch die statische Methode
-RequireSenderAuthenticationEnabled ([System.Convert]::ToBoolean($_.RequireSenderAuthenticationEnabled))
kürzer ohne Convert geht's auch so
-RequireSenderAuthenticationEnabled ([bool]$_.RequireSenderAuthenticationEnabled)
Grüße Uwe