Forum Discussion
Zeff Wheelock
Oct 31, 2017Iron Contributor
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.
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 WheelockIron 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.
- Zeff WheelockIron Contributor
THe output looks like this:
PS>.\Create-VacationCalendar.ps1 Logging into Office 365 Importing Module: MSOnline...........Done. Importing Credentials To Variable.....Done. Setting Variable For New-PSSession....Done. Importing PSSession...................Done. Connecting To MSOLService.............Done. New vacation calendar name: Zeff Calendar Creating the two security groups for the calendar: SG-Zeff Calendar Approvers and SG-Zeff Calendar Enter the owners of the SG-Zeff Calendar Approvers group (Press just the Enter key to finish) : zeff_wheelock@domain.com : Enter the internet address of the approvers for the calendar (Press just the Enter key to finish) : zeff_wheelock@domain.com : Enter the owners of the SG-Zeff Calendar group (Press just the Enter key to finish) : zeff_wheelock@domain.com : Enter the people who will be accessing the calendar (Press just the Enter key to finish) : zwheeloc@domain.com : Creating security group: SG-Zeff Calendar Approvers...New! Office 365 Groups are the next generation of distribution lis ts. Groups give teams shared tools for collaborating using email, files, a calendar, and more. You can start right away using the New-UnifiedGroup cmdlet. Done. Creating security group: SG-Zeff Calendar...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. Done. Creating Room Mailbox: Zeff Calendar... Name Alias ServerName ProhibitSendQuota ---- ----- ---------- ----------------- Zeff Calendar ZeffCalendar bn6pr02mb2434 99 GB (106,300,440,576 bytes) Done. Setting calendar options....Done.
it should look like this:
PS>.\Create-VacationCalendar.ps1 Logging into Office 365 Importing Module: MSOnline...........Done. Importing Credentials To Variable.....Done. Setting Variable For New-PSSession....Done. Importing PSSession...................Done. Connecting To MSOLService.............Done. New vacation calendar name: Zeff Calendar Creating the two security groups for the calendar: SG-Zeff Calendar Approvers and SG-Zeff Calendar Enter the owners of the SG-Zeff Calendar Approvers group (Press just the Enter key to finish) : zeff_wheelock@domain.com : Enter the internet address of the approvers for the calendar (Press just the Enter key to finish) : zeff_wheelock@domain.com
: Enter the owners of the SG-Zeff Calendar group (Press just the Enter key to finish) : zeff_wheelock@domain.com : Enter the people who will be accessing the calendar (Press just the Enter key to finish) : zwheeloc@domain.com : Creating security group: SG-Zeff Calendar Approvers...Done. Creating security group: SG-Zeff Calendar...Done. Creating Room Mailbox: Zeff Calendar...Done. Setting calendar options....Done.For the Creating Room Mailbox line, I just put an Out-Null to suppress the result, so the result above should be the expected outcome if it ran successfully.
- deniskoutserCopper Contributorhi, 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