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-ID: 3090932887

Url: https://administrator.de/forum/verteilergruppe-per-powershell-anlegen-3090932887.html

Ausgedruckt am: 22.12.2024 um 11:12 Uhr

148523
148523 16.06.2022 aktualisiert um 15:50:06 Uhr
Goto Top
Wäre dann nicht die Rubrik Batch & Shell vielleicht die Richtigere?
(Kann man nachträglich verschieben!)
Dani
Dani 16.06.2022 um 20:01:15 Uhr
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
colinardo
colinardo 17.06.2022 aktualisiert um 11:55:58 Uhr
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