Run the code blocks in one of the following sections to update or install the latest version of the Microsoft Graph PowerShell modules from the PSGallery:
Update modules:
...
| Info |
|---|
This will perform the following actions for each PowerShell module:
|
Unload Graph PowerShell modules respecting dependency on Microsoft.Graph.Authentication
| Note |
|---|
This step should only be completed in the prod (AUSTIN) domain. |
Run the following commands to verify the NuGet provider is installed:
...
| Code Block | ||
|---|---|---|
|
...
# get loaded Graph modules
$MgAuthn, $MgGraph = (Get-Module -Name Microsoft.Graph*).Where({$_.Name -eq 'Microsoft.Graph.Authentication'},[System.Management.Automation.WhereOperatorSelectionMode]::Split)
# unload Graph modules with Authn last
$MgGraph | ForEach-Object { Remove-Module -Name $_.Name -Force }; $MgAuthn | ForEach-Object { Remove-Module -Name $_.Name -Force }
Find-PackageProvider -Name 'NuGet' -Force -ForceBootstrap |
Run the following commands to trust the PSGallery:
| Code Block | ||
|---|---|---|
| ||
Set-PSRepository -Name 'PSGallery' -InstallationPolicy Trusted |
Run the following commands to define the names of the Graph PowerShell module collection and of any modules that are a dependency for other modules the collection:
| Code Block | ||
|---|---|---|
|
...
$PowerShellModuleName = 'Microsoft.Graph' $DependsOnModuleNames |
...
Reinstall modules
...
| Info |
|---|
This will perform the following actions for each PowerShell module:
|
Unload Graph PowerShell modules respecting dependency on Microsoft.Graph.Authentication
= 'Microsoft.Graph.Authentication' |
Run the following commands to split the Graph PowerShell modules based upon the module dependencies:
| Code Block | ||
|---|---|---|
|
...
$Modules, |
...
$Dependencies = (Get-Module -Name |
...
"$PowerShellModuleName. |
...
* |
...
").Where({$_.Name - |
...
notin $DependsOnModuleNames},[System.Management.Automation.WhereOperatorSelectionMode]::Split) |
...
Run the following commands to unload the Graph PowerShell modules respecting the module dependencies:
| Code Block | ||
|---|---|---|
| ||
$Modules | ForEach-Object { Remove-Module -Name $_.Name -Force -Verbose }; |
...
$Dependencies | ForEach-Object { Remove-Module -Name $_.Name -Force -Verbose } |
...
Run the following commands to remove the Graph PowerShell modules currently installed:
| Code Block | ||
|---|---|---|
| ||
Get-ChildItem -Path "$env:ProgramFiles\WindowsPowerShell\Modules" -Filter |
...
"$PowerShellModuleName*" | Remove-Item -Force -Recurse - |
...
Verbose |
Run the following commands to install the latest version of the Graph PowerShell modules from the PSGallery:
| Code Block | ||
|---|---|---|
| ||
Save-Module -Path "$env:ProgramFiles\WindowsPowerShell\Modules" -Name |
...
$PowerShellModuleName -Force -Verbose |