Resources for Setting Up Viva Topics and Viva Connections

Resources for Setting Up Viva Topics and Viva Connections

This article is contributed. See the original author and article here.

Microsoft-Viva-Platform-for-Employee-Experience.jpgOver the last several weeks since Ignite I have been approached by multiple customers about how to go about setting up Microsoft Viva Topics and Viva Connections. With the availability of Viva Topics for deployment and the announcements about Viva Connections rolling out this month customers are anxious to begin leveraging these transformative technologies.


Below are resources to assist in purchasing Topic as well as readiness and preparedness for both.



Hope you find these helpful!


 Thanks for visiting – Michael Gannotti   LinkedIn | Twitter


Michael GannottiMichael Gannotti

Fetch User Profile Properties From Site Collection And Export To CSV Using PNP PowerShell

Fetch User Profile Properties From Site Collection And Export To CSV Using PNP PowerShell

This article is contributed. See the original author and article here.

Introduction


 


Many times we have a requirement like to get users or user profile properties from any SharePoint site collection and we need it in CSV or Excel format. so to achieve this solution we will use PnP Powershell. 


 


Let’s see step-by-step implementation.


 


Prerequisites



If we are using Window 10 or we have PowerShellGet then we can run the below commands to install PnP PowerShell and AzuerAD Modules

Install PnP PowerShell Module,


 


 

Install-Module SharePointPnPPowerShellOnline -Scope CurrentUser  

 


 


Implementation


 



  • Open Windows Powershell ISE

  • Create a new file and write a script


 


Now we will see all the steps which we required to achieve the solution:


 


1.  We will read the site URL from the user


2.  then we will connect to the O365 admin site and then we will connect to the site which the user has entered


3. Create a function to bind a CSV


4. Create a function to get user profile properties by email d


5.  In the main function we will write a logic to get web and users of site collection URL and then get all the properties and bind it to CSV


 


So at the end, our script will be like this,


 


 


 


$basePath = #base path where you want to save CSV file("D:Chandani...")
$dateTime = "{0:MM_dd_yy}_{0:HH_mm_ss}" -f (Get-Date)
$csvPath = $basePath + "userdetails" + $dateTime + ".csv"
$adminSiteURL = "https://****-admin.sharepoint.com/" #O365 admin site URL
$username = #user email id
$password = "********"
$secureStringPwd = $password | ConvertTo-SecureString -AsPlainText -Force 
$Creds = New-Object System.Management.Automation.PSCredential -ArgumentList $username, $secureStringPwd
$global:userDetails = @()
$index = 1;
$userInfo;
  
Function Login() {
    [cmdletbinding()]
    param([parameter(Mandatory = $true, ValueFromPipeline = $true)] $Creds)
 
    #connect to O365 admin site
    Write-Host "Connecting to Tenant Admin Site '$($adminSiteURL)'" -f Yellow | Out-File $LogFile -Append -Force
  
    Connect-PnPOnline -Url $adminSiteURL -Credentials $Creds
    Write-Host "Connection Successfull" -f Yellow | Out-File $LogFile -Append -Force
   
}
Function StartProcessing {
    Login($Creds);
    ConnectionToSite($Creds)
}

Function ConnectionToSite() {
    $siteURL = Read-Host "Please enter site collcetion URL" 
  
    try {            
        Write-Host "Connecting to Site '$($siteURL)'" -f Yellow          
                              
        $SCWeb = Get-PnPWeb -Identity ""              
                                                     
        $getusers = Get-PnPUser -Web $SCWeb

        ForEach ($user in $getusers) { 
            $email = $user.Email
            If ($email) {
                $userInfo = GetUserProfileProperties $email        
                #creating object fro CSV
                $global:userDetails += New-Object PSObject -Property ([ordered]@{                   
                        Id            = $index
                        GUID          = $userInfo.'UserProfile_GUID'
                        FirstName     = $userInfo.FirstName
                        LastName      = $userInfo.LastName
                        WorkEmail     = $userInfo.WorkEmail 
                        PictureURL    = $userInfo.PictureURL    
                        Department    = $userInfo.Department
                        PreferredName = $userInfo.PreferredName                        
                    })
                $index++ 
            } 
        }                                                                
    }
    catch {
        Write-Host -f Red "Error in connecting to Site '$($TenantSite)'"                        
    }                                     
    BindingtoCSV($global:userDetails) 
}

Function BindingtoCSV {
    [cmdletbinding()]
    param([parameter(Mandatory = $true, ValueFromPipeline = $true)] $Global)   
    Write-Host -f Yellow "Exporting to CSV..."
    $userDetails | Export-Csv $csvPath -NoTypeInformation -Append
    Write-Host -f Yellow "Exported Successfully..."
}

Function GetUserProfileProperties($username) {
    $Properties = Get-PnPUserProfileProperty -Account $username
    $Properties = $Properties.UserProfileProperties
   
    If ($Properties) {
        $Properties = $Properties
    }
    else {
        $Properties = $null
    }
    return $Properties
}

StartProcessing

 


 


 


In the above script do the following changes:


 


1. Change O365 Site Url, base path, username, and password


2. To check all the properties you can print $userInfo and then change $global:userDetails object as per your requirement at where I have used $userInfo.FirstName,LastName etc.


 


Then run the script with the F5 command.


 


Output


 


OP.png


 


 


After this check the CSV file at your base location.


 


Summary


 


So in this article, we have seen how to get user and user profile properties and as well as how to export them to CSV.


 


Hope this helps! If it is helpful to you then share it with others.


 


Sharing is caring!


 

Ignore bogus COVID vaccine survey

Ignore bogus COVID vaccine survey

This article was originally posted by the FTC. See the original article here.

Scammers are using a new trick to steal your money and personal information: a bogus COVID vaccine survey.

People across the country are reporting getting emails and texts out of the blue, asking them to complete a limited-time survey about the Pfizer, Moderna, or AstraZeneca vaccine. (And no doubt, there may be one for Johnson & Johnson, too.) In exchange, people are offered a free reward, but asked to pay shipping fees.

If you get an email or text like this, STOP. It’s a scam.

   

No legitimate surveys ask for your credit card or bank account number to pay for a “free” reward.

If you get an email or text you’re not sure about:

  • Don’t click on any links or open attachments. Doing so could install harmful malware that steals your personal information without you realizing it.
  • Don’t call or use the number in the email or text. If you want to call the company that supposedly sent the message, look up its phone number online.

Remember:

  • Don’t give your bank account, credit card, or personal information to someone who contacts you out of the blue.
  • You can filter unwanted text messages on your phone, through your wireless provider, or with a call-blocking app.
  • If you get an email or text that asks for your personal information and you think it could be a scam, tell the FTC at ReportFraud.ftc.gov.

To learn more about COVID-related frauds and scams, visit ftc.gov/coronavirus/scams.

Brought to you by Dr. Ware, Microsoft Office 365 Silver Partner, Charleston SC.

Reconnect Series: Hilton Giesenow

Reconnect Series: Hilton Giesenow

This article is contributed. See the original author and article here.

We’re back once again to Reconnect and thrilled to be joined by 12-time Office Apps & Services MVP Hilton Giesenow! An industry veteran of almost 20 years, Hilton counts experience across varied IT, development and consulting roles, geographies and client industries and types.


 


Hailing from Cape Town, South Africa, Hilton recently founded a company called ChitChattr which builds products for Microsoft Teams.


 


Moreover, “I’m having a ton of fun doing lots of Teams development,” Hilton says, “so lately I’ve been learning a lot and working on a number of related open source projects (Teams PnP Samples, Graph Toolkit, Text Recognizers, Teams developer docs), and building some awesome Teams products at ChitChattr (such as our new TeamMate new employee onboarding welcome bot)”


 


Hilton, who mostly stays in touch with Reconnect via the Yammer group, says MVP has played a large role in his life and the community helps him to still feel part of the program. 


 


“It has helped me keep in touch with other community members, both Reconnect and ‘regular’ MVPs,” Hilton says. In terms of other projects and community organizations, Hilton says: “I’m a regular contributor to various projects, both code and docs-related, but also quite active on Stack Overflow helping answer Teams development questions (and learning a lot from other people’s challenges!)”


 


Hilton fondly recalls various global gatherings during his time as an MVP, and encourages all program newcomers to get the most out of the program. “Enjoy the program and keep up the great contributions – community is all about sharing and helping others – we’re all ‘beginners’ in something!”


 


Looking forward, Hilton says: “Right now I’m loving learning about Teams development, so planning to keep learning more and contributing to the Teams development community. I’m also planning to improve our current ChitChattr products and to build a bunch of new ones for Teams.”


 


For more on Hilton, visit his blog.


 


hilton.jpg

New VSCode extension for autocompleting your Microsoft Graph APIs

New VSCode extension for autocompleting your Microsoft Graph APIs

This article is contributed. See the original author and article here.

While working on a project which uses Microsoft Graph APIs, I found myself opening the Microsoft Graph Explorer a lot to check which paths/parameters were available. The Microsoft Graph Explorer is a great tool, but I love not to change context too much.


 


As I like to create Visual Studio Code extensions, I did not have to think long to start building a new extension.


 


Background info


 


The good news for me was that Microsoft Graph Explorer has an API for retrieving the Open API information. This API returns all the available endpoints and their parameters per path. All I had to do, was create the logic to know when you are writing a Microsoft Graph URL and call the API to provide the suggestions.


 


The extension


 


> Info: The Visual Studio Code extension can be found on the marketplace: MS Graph Completion.


 


The initial version of the extension supports the GET API paths, query string parameters, and their values.


 


how-it-works.gif


 


The /users/ API completion allows you to add a {user-id} token.


 


Screenshot 2021-03-23 at 21.04.10.png


 


When providing your user-ID or username, it will automatically tokenize it.


 


Screenshot 2021-03-23 at 21.04.25.png


 


When would you use it?


 


There are various reasons for this. My reasoning, as mentioned, was to know which parameters are available for selecting and expanding quickly.


 


Another option could be to use it in combination with the popular REST Client – Visual Studio Marketplace


 


Screenshot 2021-03-24 at 08.30.52.png


 


Let me know how you would use it and feel free to contribute to the project MS Graph Completion – GitHub Repository.


 


*Thanks to the Microsoft Graph team for the API and Graph explorer*