PowerShell most common installers for admins

Have you ever change computer and went mad trying to recap all required installers for your daily work? Me too, so I’m trying to summarize here most commons installers that I usually need. Feel free to add suggestions to this list, so it would become more useful!

Getting the framework

If still not on win10, you need this: Windows Management Framework 5.1 Last PowerShell version, essential to access PSGallery and install-modules

Active Directory Service

Links to RSAT

If you’re using Windows 10 1809 at least and want to upgrade RSAT by using PowerShell, see this link

Trusting PowerShell running scripts:

After all necessary stuff installed, important to modify execution policy, to continue with the configuration of PowerShell:

Set-ExecutionPolicy Unrestricted -Force

PowerShell Package Management

PowerShellGet 1.6.0: PowerShell module with for discovering, installing, updating and publishing the PowerShell capabilities, like Modules, DSC Resources…

Install-Module -Name PowerShellGet -Force -Verbose

To configure PowerShell Gallery as a trusted repository:

Set-PSRepository -Name 'PSGallery' -InstallationPolicy Trusted

PSReadline module: To get syntax highlighting

Install-Module PSReadline -Verbose

NuGet Provider: To work with PowerShell Gallery:

Install-PackageProvider -Name NuGet -Verbose

Docker: To play Windows Containers:

Install-Module -Name Docker -Verbose

Chocolatey: Hundred of useful packages, like SysInternals

Register-PackageSource -Name chocolatey -ProviderName Chocolatey -Location http://chocolatey.org/api/v2/

SysInternals: One of must have; very easy with Package Management:

Install-Package -Name Sysinternals

After that, I can use Sysinternals tools this default location: SysInternals tools

Getting the list of current sources:

Get-PackageSource

Package Source

Azure

Azure Rights Management

Tools to administer: Azure Rights Management Administratio Tool

Azure most common modules

Install-Module -Name Azure -Repository PSGallery -Force -Verbose
Install-Module -Name AzureAD -Verbose
Install-Module -Name Az -AllowClobber
Install-Module -Name AzureADPreview -Verbose
Install-Module -Name Microsoft.Azure.ActiveDirectory.PIM.PSModule -Verbose
Install-Module -Name xPSDesiredStateConfiguration -Verbose

PS: If later on you need to uninstall these modules, follow this line:

Get-Module -ListAvailable | where-Object {$_.Name -like “Azure*”} | Uninstall-Module

Azure Stack (up to 1.3.0)

Connected Scenario (Internet connectivity available)

If you’re willing to play with Azure Stack, you’re going to need this, it’s necessary to allow subsequent installation of Azure Stack compatible AzureRM modules, since they are installed by leveraging API version profiles.

Install-Module -Name AzureRm.BootStrapper
Use-AzureRmProfile -Profile 2017-03-09-profile -Force

PS: In case you receive any error messages at this point, open File Explorer, navigate to C:\Program Files\WindowsPowerShell\Modules and to C:\Users\Administrator\Documents\WindowsPowerShellModules, identify any folders starting with Azure, and retry running Use-AzureRmProfile cmdlet.

# Install Module Version 1.3.0 if Azure Stack is running 1804 at minimum
Install-Module –Name AzureStack –RequiredVersion 1.3.0
# Install Module Version 1.2.11 if Azure Stack is running a lower version than 1804
Install-Module -Name AzureStack -RequiredVersion 1.2.11

To confirm AzureRM and AzureStack available modules:

Get-Module -ListAvailable | Where-Object Name -like 'Azure*'

Disconnected or partially connected scenario (limited Internet connectivity)

  1. Sign in to a computer with internet connectivity and use following script to download AzureRM, AzureStack packages:
$Path = ""

Save-Package -ProviderName NuGet `
  -Source https://www.powershellgallery.com/api/v2 -Name AzureRM `
  -Path $Path -Force `
  -RequiredVersion 1.2.11
  
Save-Package -ProviderName NuGet `
  -Source https://www.powershellgallery.com/api/v2 -Name AzureStack `
  -Path $Path -Force `
  -RequiredVersion 1.3.0

PS: If you are not running Azure Stack 1804, change requiredversion parameter to 1.2.11

  1. Copy downloaded packages to USB device
  2. Copy packages to the workstation
  3. Register default repository
$SourceLocation = "[local packages]"
$RepoName = "MyNuGetSource"
Register-PSRepository -Name $RepoName -SourceLocation $SourceLocation `
-InstallationPolicy Trusted

Install-Module AzureRM -Repository $RepoName

Install-Module AzureStack -Repository $RepoName

Azure Stack Tools

This has to be installed from GitHub

Set-Location -Path 'C:\'
Invoke-WebRequest https://github.com/Azure/AzureStack-Tools/archive/master.zip -OutFile master.zip
Expand-Archive master.zip -DestinationPath . -Force
Set-Location –Path C:\AzureStack-Tools-master

With these tools, you can identify MAS (Microsoft Azure Stack) capabilities, manage Azure Stack VM infrastructure and images, configuring Resource Manager policies, register MAS with Azure, MAS deployment, connectivity to MAS, MAS tenant management, and validation of MAS Resource Manager templates.

Azure CLI 2.0

Only was necessary to install from this .MSI installer https://docs.microsoft.com/en-us/cli/azure/install-azure-cli-windows?view=azure-cli-latest

AzureADPreview

The module offered in the Cloud Shell, it requires PowerShell 3.0 or above. It’s possible to install it using PowerShellget:

Install-Module AzureADPreview

Windows Update

This module allow you to control Windows Update patching via PowerShell; easier than traditional way:

Install-Module -Name PSWindowsUpdate -Verbose

OpenSSH

With last Windows 10 release, Fall Creators Update (1709), an SSH client and server were included (for now on beta version):

Get-WindowsCapability -Online | ? Name -like 'OpenSSH*'
Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0
Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0

Office 365

To administer Office 365 and Azure Active Directory, it’s required:

  1. Make sure that at least Microsoft .NET Framework 3.5 is installed and enabled (required for OS versions prior to Windows 10)
  2. Install the 64-bit version of the Microsoft Online Services Sign-In Assistant for IT Professionals RTW > Access to Microsoft Online Services, yet not available in PSGallery
  3. Install the Microsoft Azure Active Directory Module for Windows PowerShell:
    Install-Module MSOnline -Verbose
    
  • If prompted to install the NuGet provider, say YES - If prompted to install the module from PSGallery, say YES - After installation, close the PowerShell command window

Exchange Online

From Exchange Admin Center, go to Hybrid \ Setup, and download ‘Exchange Online Remote PowerShell’ (it supports multi-factor authentication). After that, proced to install it.

Office 365 Panel

WinRM needs to allow basic authentication, to verify:

winrm get winrm/config/client/auth

If you can’t see ‘Basic’ value, you need to enable:

winrm set winrm/config/client/auth @{Basic="true"}

SharePoint

Downloading this module to manage SharePoint Online: SharePoint Online Module

You can install it also via PSGallery: SharePoint Online

Install-Module SharePointPnPPowerShellOnline

SharePoint 2016

Install-Module SharePointPnPPowerShell2016

SharePoint 2013

Install-Module SharePointPnPPowerShell2013

SharePoint setup-files You can download setup files from the releases section of the PnP PowerShell repository

Installation-script This is an alternative for installation on machines that have at least PowerShell v3 installed.

Invoke-Expression (New-Object Net.WebClient).DownloadString('https://raw.githubusercontent.com/sharepoint/PnP-PowerShell/master/Samples/Modules.Install/Install-SharePointPnPPowerShell.ps1'){:target="_blank"}

Updating SharePoint Module

Update-Module SharePointPnPPowerShell*

Skype for Business Online

Module for Skype for Business: Skype for Business Online Module

Windows Virtual Desktop

Lately, Microsoft has created Windows Virtual Desktop (WVD), in an attempt to substitute traditional Remote Desktop Services (RDS). To configure WVD Service, this PowerShell module is necessary:

Install-Module -Name Microsoft.RDInfra.RDPowershell

Update

Last, but not least, advisable to update help and all Modules:

Update-Help
Update-Module

Eloy Salamanca