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
- Remote Server Administration Tools for Windows 10
- Remote Server Administration Tools (RSAT) for Windows 8.1
- Remote Server Administration Tools (RSAT) for Windows 8
- Remote Server Administration Tools (RSAT) for Windows 7 with SP1 (both x86 and x64)
- Remote Server Administration Tools (RSAT) for Windows Vista 32-bit (x86)
- Remote Server Administration Tools (RSAT) for Windows Vista 64-bit (x64)
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:
Getting the list of current sources:
Get-PackageSource
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)
- 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
- Copy downloaded packages to USB device
- Copy packages to the workstation
- 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:
- Make sure that at least Microsoft .NET Framework 3.5 is installed and enabled (required for OS versions prior to Windows 10)
- 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
- 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.
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