Snow Inventory Agent Script - Microsoft Exchange Server editions and versions 3
Here you can find the release notes for Snow Inventory Agent Script - Microsoft Exchange Server editions and versions 3.
3.0.1 latest
Release date: 2024-03-06
Compatible Versions
Snow Inventory Agent for Windows | Microsoft PowerShell |
---|---|
5 or later | 3 and later |
Information
The script Scan-ExchangeServerEdition.ps1
is designed to conduct standard checks to identify the presence of an Exchange installation on the machine.
The script must be executed as part of the Snow Inventory Agent for Windows, according to the topic Running PowerShell scripts as part of the scanning process on Snow Docs.
In the case that you want to run a manual scan, this script must be executed with appropriate permissions, so execute it using only sc.exe control SnowInventoryAgent5 128
, as described in the Windows Agent - Command line topic on Snow Docs.
For debugging purposes, the script can be executed manually and supports common parameters, so you will receive detailed logs using the command Scan-ExchangeServerEdition.ps1 -Debug -InformationAction 'Continue'
.
Requirements
In order to make the script work, there are some requirements which needs to be met. It will only execute successful it is executed on a machine with Exchange Server components installed.
PSSnapIns
The script requires one of the following PS-Snapins to work:
- Microsoft.Exchange.Management.PowerShell.Admin
- Microsoft.Exchange.Management.PowerShell.E2010
- Microsoft.Exchange.Management.PowerShell.SnapIn
They are added with the cmdlet Add-PSSnapin
.
Security Groups
In order for the script to access the required console, the Exchange computer account in Active Directory needs to be added to the following two groups:
- Exchange Servers
- Server Management
Both these groups are Exchange Security containers.
Function
The script functions by systematically verifying Exchange installation by
- checking for the environment variable
ExchangeInstallPath
- checking for Exchange server services utilizing
Get-WmiObject
- scanning registry keys like
HKLM:\SOFTWARE\Microsoft\Exchange\Setup
orHKLM:\SOFTWARE\Microsoft\Exchange\V14\Setup
, extracting theMsiInstallpath
property.
Once succeeded, the script connects to the Exchange server management shell, using the CmdLets Connect-Exchangeserver
, Get-ClusteredMailboxserverstatus
and Get-ExchangeServer
to retrieve detailed setup information and determine the exact installed version and edition. Finally, it compiles all acquired data into raw data rows, facilitating efficient processing by the inventory agent and server. It also returns the identified version and edition as value in the CustomRegistry entry HKLM\Snow\Exchange
and the name Exchange Edition
.
It returns the script manifest using the name scanExchangeServerEdition
.
MediumIntegrity
This script does need medium integrity to add Snap-Ins and query the Exchange server.
Troubleshooting
Custom encryption might need to be applied to this script when running on Snow Inventory Agent for Windows prior to version 7, as it will not be executed in medium integrity.
Fixed
- An unexpected script ending was fixed when no Exchange was found.
DEPRECATED
- There will be no encrypted snow-ps1 version of this script provided by Snow Software.
3.0
Release date: 2024-02-08
Compatible Versions
Snow Inventory Agent for Windows | Microsoft PowerShell |
---|---|
5 or later | 3 and later |
Information
The Scan-ExchangeServerEdition.ps1
script is designed to conduct standard checks to identify the presence of an Exchange installation on the machine. It begins by examining ExchangeInstallPath and proceeds to verify the status of the Exchange server service using Get-WmiObject if the path is not found.
Additionally, it retrieves the installation path by scanning registry keys like HKLM:\SOFTWARE\Microsoft\Exchange\Setup or HKLM:\SOFTWARE\Microsoft\Exchange\V14\Setup, extracting the MsiInstallpath property.
The script needs to add the following PSSnapins with the cmdlet Add-PSSnapin:
· Microsoft.Exchange.Management.PowerShell.Admin
· Microsoft.Exchange.Management.PowerShell.E2010
· Microsoft.Exchange.Management.PowerShell.SnapIn (2k13/2k16/2k19)
The script must be executed as part of the Snow Inventory Agent for Windows, according to the topic Running PowerShell scripts as part of the scanning process on Snow Docs.
In the case that you want to run a manual scan, this script must be executed with appropriate permissions, so execute it using only sc.exe control SnowInventoryAgent5 128
, as described in the Windows Agent - Command line topic on Snow Docs.
Function
The script functions by systematically verifying Exchange installation. Initially, it checks for ExchangeInstallPath and the Exchange server service status. If necessary, it utilizes Get-WmiObject for verification. Then, it extracts the full installation path from relevant registry keys.
Afterward, the script connects to the Exchange server’s management shell to retrieve detailed setup information and determine the exact installed version. Finally, it compiles all acquired data into raw data rows, facilitating efficient processing by the inventory agent and server.
MediumIntegrity
This script does need medium integrity.
Troubleshooting
Custom encryption might need to be applied to this script when running on Snow Inventory Agent for Windows prior to version 7, as it will not be executed in medium integrity.
NEW
- Snow Inventory Agent for Windows 7 support.
- The script is now signed by Snow Software AB.
DEPRECATED
- There will be no encrypted snow-ps1 version of this script provided by Snow Software.
Flexera does not own the third party trademarks, software, products, or tools (collectively, the "Third Party Products") referenced herein. Third Party Product updates, including user interface updates, may not be reflected in this content.