PowerApps – using Checkbox controls with Multi-Valued Choice columns

At some point Microsoft PowerApps Team added support for fields with multiple values through a Combo Box control. However, as of this moment (2/3/2019) there is still no native support for Checkbox controls even when you configure your Choice column in SharePoint to have Checkboxes (allow multiple selections). There is a good article (https://powerapps.microsoft.com/en-us/blog/multivaluedchoicesinforms/) published by Carlos Figueira from PowerApps Team that shows how to implement Checkbox controls. The downside of it was using a Text column that imitates a Choice column. It's been a while since that article was published, so it's hard to say if anyone has done it differently. In this post I will explain how to pair Checkbox controls with a true Multi-Valued Choice column. Please note, in my example I will be using a PowerApps Form rather than PowerApps App; however, it shouldn't make any difference. Let's create a SharePoint List, name it TestList, add a TestListColors Choice column.…

Continue Reading

Script to remove a user from all distribution groups managed in the cloud

The purpose of this PowerShell script is to remove a user from all distribution groups. The script is interactive, it will show the list of groups first, then you have an option to process your request. While the same can be done using Exchange Admin or Microsoft 365 Admin Center, it is much faster using PowerShell. Note, the script only processes those distribution groups that are managed in the cloud. If you have some groups synced with Active Directory, those should be processed separately. $email = Read-Host "Please provide a user's email address to remove from all distribution groups" $mailbox = Get-Mailbox -Identity $email $DN=$mailbox.DistinguishedName $Filter = "Members -like ""$DN""" $DistributionGroupsList = Get-DistributionGroup -ResultSize Unlimited -Filter $Filter Write-host `n Write-host "Listing all Distribution Groups:" Write-host `n $DistributionGroupsList | ft $answer = Read-Host "Would you like to proceed and remove $email from all distribution groups ( y / n )?" While…

Continue Reading

SharePoint Document Library – show Path column in the view and make it clickable to open that path

How to add / show Path column in a view in a SharePoint Document Library appears to be a question with hundreds of different answers to it. The reasons for such a variety are: different versions of SharePoint (on premise, online, 2010, 2013); two Workflow variations ("old" workflow, Microsoft Flow); SharePoint Designer (2010, 2013); using Web Parts and more. Why would one need to see a Path column? Take a look at the two examples below; however, there might be more use cases. Example 1 - when searching for files. Example 2 - when using a view with "Show all items without folders" option selected Here is a test Document Library with a folder and some document in it: It's not possible to show Path column using out-of-the-box tools, the Path column is just not available to be selected: Although the Path can be seen if you open the details pane:…

Continue Reading

SharePoint Column Formatting – customize the look of Hyperlink columns and their Display Text

There is nothing wrong with how SharePoint Hyperlink columns display information by default. However, some users believe that the look is too generic, hard to bring attention to, which I myself tend to agree with. Let's see how it looks by default: The issues in my opinion are: the Display Text is grey and no different than any other column if Display Text needs to always be the same (e.g. CLICK HERE), then it has to be typed in that way in every single list item. We will address both issues. 1. KEEP THE ORIGINAL DISPLAY TEXT AND CHANGE THE LOOK The following JSON code is applied to both Hyperlink columns: { "$schema": "http://columnformatting.sharepointpnp.com/columnFormattingSchema.json", "elmType": "a", "txtContent": "@currentField.desc", "style": { "color": "red", "font-weight": "bold" }, "attributes": { "target": "_blank", "href": "@currentField" } } 2. SHOW PREDEFINED DISPLAY TEXT AND CHANGE THE LOOK The following JSON code is applied to both…

Continue Reading

Script to get mailbox size and number of items info for all users or a single one

This script has two parts in it and depending on the selection it will either run it against a single specified mailbox or all of them at once. Note, running this script against a few hundred mailboxes takes several minutes. So if your company is large with thousands of mailboxes, expect it to take much longer. As part of the output it lists the following parameters - a user name, number of items in the mailbox, its current size, and a maximum allowed size. There is a downside of using this script when running it against all mailboxes. Because Get-MailboxStatistics outputs TotalItemSize as a string only, it makes it harder to search through and sort by. I wish Microsoft could change that and provide data in a number type format. $answer = Read-Host "Would you like to get statistics for all users ( y / n )?" While ("y","n" -notcontains $answer)…

Continue Reading

Microsoft Flow – 2 methods to not use Apply to Each action when only a single filtered item is expected

In this post I will show you 2 methods when using Apply to each Flow action is not necessary. By not using them you make your Flows look cleaner, less complicated. Please note, these methods are mostly good when only a single item is expected after filtering an array. I created a SharePoint List with two text columns - Title and Color. Both columns are required. Title values are set to be unique (!). When using Get Items action, an array of items is returned regardless if it's a single item in it or not. The moment you try to use a Condition action on its result, the system will insert an Apply to Each action to go through every single possible item. Again, it's redundant when by design a single item is returned after filtering. In my test flow I'm using a very simple Filter Query on purpose - Title…

Continue Reading

SharePoint Column Formatting – make choice type columns that represent boolean values visually stand out

If you have a SharePoint List that has a Choice type column with the following choices as an example: On / Off Active / Expired Yes / No True / False Enabled / Disabled (used in this example), then you might consider adding some column formatting that will help those different choices stand out. With Microsoft constantly simplifying Column Formatting it is possible now (as of 1/3/2019) to just select the color of the background depending on the choice. The editor is very limited though. See the screenshots below. All great, but let’s add our own formatting that in my opinion looks cleaner: To change formatting, click on Status column header – Column settings – Format this column. Once selected, there will be a Format column window on the right side. Paste the code from down below into that windows and save to get the result. The long version of…

Continue Reading

SharePoint – use Microsoft Flow to enforce uniqueness of a combination of two or more columns

In SharePoint there is an out-of-the-box way to enforce uniqueness of fields. Let’s say you have a SharePoint list with events and dates and by design you would like to allow any combination of events per day as long as they don’t have the same name and date/time at once. According to the requirements, this is not allowed: Team Lunch – 12/29/2018 12:00 PM (same name and date/time) Team Lunch – 12/29/2018 12:00 PM (same name and date/time) And these combinations are allowed: Team Lunch – 12/29/2018 12:00 PM (same name, different date/time) Team Lunch – 12/29/2018 2:00 PM (same name, different date/time) OR Team Lunch – 12/29/2018 12:00 PM (different name, same date/time) Vendor meeting – 12/29/2018 12:00 PM (different name, same date/time) If you make both Event and Date fields unique then you won’t be able to achieve that. Would be great if we could create and use a…

Continue Reading

Script to turn a Shared Mailbox into an automated calendar only or a combination of both

The purpose of this PowerShell script is to adjust an existing Shared Mailbox to auto-accept calendar invitations and either keep emails or automatically remove them. Why would you do that as an admin? Well, there are 2 scenarios for it, and the choice really depends on the department / team in your company and their needs: 1) Its only purpose is a Calendar (e.g. team calendar for vacations) 2) Its purpose is a combination of a Calendar and a Mailbox (e.g. Help Desk mailbox and team calendar for vacations combined rather than two entities separately). Regardless, the way it works for users - they invite that calendar as a participant when creating vacation bookings. Thus, those bookings will be visible in both a personal calendar and a team calendar. What this script does: Turns on auto-processing; Allows conflict creation; Either deletes emails or keeps them depending on a scenario from…

Continue Reading

Script to show my computer name and IP address

If you need to know the name of the computer of a user or the IP address, then this tiny PowerShell script can become handy. For example, that information might be required for remote assistance software. There are some tools out there that show this info, e.g. BgInfo, but they don't always work. Moreover, some users insist on seeing an unobstructed photo of their puppy they just got from a shelter. That's a big one! 1) Create a PowerShell script file with this content: Add-Type -AssemblyName System.Windows.Forms $ip=get-WmiObject Win32_NetworkAdapterConfiguration|Where {$_.Ipaddress.length -gt 1} $ipaddress = $ip.ipaddress[0] $pcname = [System.Net.Dns]::GetHostName() [System.Windows.Forms.MessageBox]::Show("My PC name - $pcname `n`nMy IP address - $ipaddress",'About my PC','OK','Information') This script is a modified combination of scripts out there that other people made, so by no means I'm trying to take any credits for it. 2) Put this script to a network location that every user has Read access to.…

Continue Reading
Close Menu