Skip to main content

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

(DIS-5222)

Compatible Versions

Snow Inventory Agent for WindowsMicrosoft PowerShell
5 or later3 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 or HKLM:\SOFTWARE\Microsoft\Exchange\V14\Setup, extracting the MsiInstallpath 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

(DIS-5159)

Compatible Versions

Snow Inventory Agent for WindowsMicrosoft PowerShell
5 or later3 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.