Forum Discussion

Zeff Wheelock's avatar
Zeff Wheelock
Iron Contributor
Oct 31, 2017

Suppressing Text after New-DistributionList

I have a script which I am creating a distribution list (New-DistributionList).  However, the format of the output gets screwed up when the following text appears:

 

New! Office 365 Groups are the next generation of  distribution lists.
Groups give teams shared tools for collaborating using email, files, a calendar, and more.
You can start right away using the New-UnifiedGroup cmdlet.

 

How do you suppress this text?  I tried to pipe it to out-null to no avail.

16 Replies

  • deniskoutser's avatar
    deniskoutser
    Copper Contributor
    hi, any update?? its 2 years passed since the last reply..I'm now have the issue and don't know how to hide this info banner..
    thanks
  • Could you post the script?

     

    What you could do is to store the output in a variable, then output it with a small delay.

    • Zeff Wheelock's avatar
      Zeff Wheelock
      Iron Contributor
      Function Loop([string]$Person)
      {
          $People = @()
          while ($Person -ne "")
          {
              $temp=Get-msoluser -UserPrincipalName $Person -ErrorAction SilentlyContinue
              if ($temp) {$People+=$Person}
              else {Write-Host "Not a valid email address: $Person"}
              $Person = Read-Host " "
          }
          return $People
      }
      Function Create-VacationCalendar
      {
          "Logging into Office 365"
          " "
          .\ConnectToOffice365.ps1
          " "
      
          $RoomMailbox = Read-Host "New vacation calendar name"
          $ApproversGroup = "SG-$RoomMailbox Approvers"
          $RegularGroup = "SG-$RoomMailbox"
          " "
      
          "Creating the two security groups for the calendar:  $ApproversGroup and $RegularGroup"
          " "
      
          "Enter the owners of the $ApproversGroup group (Press just the Enter key to finish)"
          $ApproverOwner = Read-Host " "
          $ApproverOwners = Loop $ApproverOwner
          " "
      
          Write-Host "Enter the internet address of the approvers for the calendar (Press just the Enter key to finish)"
          $Approver = Read-Host " "
          $Approvers = Loop $Approver
          " "
      
          "Enter the owners of the $RegularGroup group (Press just the Enter key to finish)"
          $UserOwner = Read-Host " "
          $UserOwners = Loop $UserOwner
          " "
          "Enter the people who will be accessing the calendar (Press just the Enter key to finish)"
          $User = Read-Host " "
          $Users = Loop $User
          " "
      
          Write-Host -NoNewline "Creating security group: $ApproversGroup..."
          New-DistributionGroup -Name $ApproversGroup -Type "Security" -ManagedBy $ApproverOwners -CopyOwnerToMember -Members $Approvers -PrimarySmtpAddress "$($ApproversGroup.Replace(' ','_'))@domain.com" | Out-Null
          Write-Host "Done."
      
          Write-host -NoNewline "Creating security group: SG-$RoomMailbox..."
          New-DistributionGroup -name "SG-$RoomMailbox" -Type "Security" -ManagedBy $UserOwners -CopyOwnerToMember -Members $Users -PrimarySmtpAddress "$($RegularGroup.Replace(' ','_'))@domain.com" | Out-Null
          Write-Host "Done."
      
          Write-Host -NoNewline "Creating Room Mailbox: $RoomMailbox..."
          New-Mailbox -name $RoomMailbox -Room -PrimarySmtpAddress "$($RoomMailbox.Replace(' ','_'))@harvardpilgrim.org"
          Write-Host "Done."
      
          Write-Host -NoNewline "Setting calendar options..."
          while (-not (Get-CalendarProcessing -Identity $RoomMailbox -ErrorAction SilentlyContinue)) {Write-host -NoNewline ".";Sleep 10}
      
      
          $AutomateProcessing = "AutoAccept"
          $AllowRecurringMeetings = $True
          $AllowConflicts = $True
          $MaximumDurationInMinutes = 0
          $ConflictPercentageAllowed = 100
          $MaximumConflictInstances = 10
          $BookingWindowInDays = 365
          $EnforceSchedulingHorizon = $False
          $AddOrganizerToSubject = $True
          $DeleteComments = $False
          $DeleteSubject = $False
      
          Set-CalendarProcessing -Identity $RoomMailbox `
              -AutomateProcessing $AutomateProcessing `
              -AllowRecurringMeetings $AllowRecurringMeetings `
              -AllowConflicts $AllowConflicts `
              -MaximumDurationInMinutes $MaximumDurationInMinutes `
              -ConflictPercentageAllowed $ConflictPercentageAllowed `
              -MaximumConflictInstances $MaximumConflictInstances `
              -BookingWindowInDays $BookingWindowInDays `
              -EnforceSchedulingHorizon $EnforceSchedulingHorizon `
              -AddOrganizerToSubject $AddOrganizerToSubject `
              -DeleteComments $DeleteComments `
              -DeleteSubject $DeleteSubject `
              -BookInPolicy $ApproversGroup `
              -ResourceDelegates $ApproversGroup | Out-Null
          Write-Host "Done."
      }
      Create-VacationCalendar

       Each time I run it, I try to format the output, but the info for using groups keeps messing the output up.

      • Sean Kearney's avatar
        Sean Kearney
        Icon for Microsoft rankMicrosoft

        I don't have the Cmdlet in front of me but that output could be minor warning message from the Cmdlet.  

        Trying adding in -warningaction 'silentlycontinue' *or* -informationaction silentlycontinue to see if that suppresses the message.

         

        Silly question... what Colour is the message? (that can help identify the type of message)

        RED = Error, YELLOW = Warning

         

        If it's neither then it might just be information in which case ideally -informatinaction silentlycontinue should let you go on without being pestered.

         

        Sean

        Good friend of Dr. Scripto

Resources