I am trying to append to a group display name unless the append already exists currently my code is as below and it works on the first pass but if you re run it it appends the text each time again.
I would like a way to check if the "-Yammer" already exists in display name and skip if it does. Any clever ways of achieving this ?
Many Thanks
Get-UnifiedGroup -ResultSize Unlimited |?{$_.GroupSku -eq "Yammer"} | Export-Csv "C:\Temp\yammerGroup.csv" -NoTypeInformation
Import-CSV "C:\Temp\yammerGroup.csv" | ForEach-Object {
Set-UnifiedGroup -Identity $_.id -DisplayName ($_.DisplayName "-Yammer")}
{
Set-UnifiedGroup -Identity $_.id -HiddenFromAddressListsEnabled $False}
CodePudding user response:
You can use an if statement with the EndsWith method to check if the end of the group name matches your specified string.
Note EndsWith is case-sensitive, so I've also added ToLower to convert the group name to lower-case first.
Import-CSV "C:\Temp\yammerGroup.csv" | ForEach-Object {
if (! ($_.DisplayName.ToLower().EndsWith("-yammer") ) )
{
Set-UnifiedGroup -Identity $_.id -DisplayName ($_.DisplayName "-Yammer")
}
}
