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 ...
Zeff Wheelock
Nov 01, 2017Iron 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 Wheelock
Nov 02, 2017Iron 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.
- Nov 06, 2017
Couldnt you do something like this?
Store it to a variable, then give the output depending if its $null or not.$newDB = New-DistributionGroup -Name $ApproversGroup -Type "Security" -ManagedBy $ApproverOwners -CopyOwnerToMember -Members $Approvers -PrimarySmtpAddress "$($ApproversGroup.Replace(' ','_'))@domain.com" If($newDB -ne $null) { "Completed successfully" } Else{"Error"}
- Zeff WheelockNov 07, 2017Iron ContributorSaving it to a variable won't work either. It still prints the Office 365 group message. I called Microsoft and they acknowledged the message and stated it is there only temporary but they have no timetable when they will remove it. Sometimes, Microsoft just does not think things through...
- Michael DonovanDec 23, 2020Brass ContributorApparently I am not allowed to like this but I whole heartedly agree!