How to Get Microsoft Edge Version in Local and Remote Computer Using PowerShell

Problem

In this blog post, we will walk you through how to get Microsoft Edge version using PowerShell from your local and remote computer.

Get Edge Version from Local Computer

Using Get-ItemPropertyValue cmdlet

Edge version can be found at HKEY_CURRENT_USER\Software\Microsoft\Edge\BLBeacon registry key.

Edge Version Registry Key Location

You can use Get-ItemPropertyValue cmdlet to get the registry key value by specifying the registry key path and name.


Get-ItemPropertyValue -Path 'HKCU:\SOFTWARE\Microsoft\Edge\BLBeacon' -Name "version"

Using Get-AppxPackage cmdlet

You can use Get-AppxPackage cmdlet to get list of application packages installed in user profile. Then, you can select Version property to get the Edge version.


Get-AppxPackage -Name "*edge*" | Select-Object PackageFamilyName, Version

In one computer, there could be multiple version of Microsoft Edge package and they have different versions. For example, in our computer there are three packages as follows:

list of microsoft edge packages using Get-AppxPackage

Using Get-Item cmdlet to Get VersionInfo

You can also use Get-Item cmdlet to get edge version by locating MsEdge executable file in its installation location. Then, you can select its VersionInfo.


(Get-Item "C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe").VersionInfo

Get Edge Version from Remote Computer

To connect to remote computer, we can use Enter-PSSession that will create interactive session or Invoke-Command which is not interactive.

In this context, we have two computers named vm1 and vm2 respectively. The client will be vm1 and we will get Edge version information on vm2 machine.

Since the computers are not in the same domain, we should use Windows Remote Management (WinRM) for remote communication or remoting.

Below are several prerequisites to use WinRM for remote communication:

  1. Enable Windows Remote Management (WinRM) service on both computers

Set-Service -Name WinRM -Status Running -StartupType Automatic

  1. Add servers we want to connect to TrustedHosts list on client computer

Set-Item -Path WSMan:\localhost\Client\TrustedHosts -Value 'vm2'

  1. Enable firewall rule for WinRM to allow other IPs to connect on remote computer which is vm2 in this context

Set-NetFirewallRule -Name 'WINRM-HTTP-In-TCP' -RemoteAddress Any
Enable-NetFirewallRule -Name 'WINRM-HTTP-In-TCP'

Or you can also do it manually:

1. Open Windows Defender Firewall with Advanced Security
2. Click Inbound Rules
3. Double-click Windows Remote Management (HTTP-In) for the Public profile
4. Click the Scope tab
5. Under Remote IP address, set it to `Any IP Address`
6. Enable Rule
Set-NetFirewallRule -Name 'WINRM-HTTP-In-TCP' -RemoteAddress Any Enable firewall rule for Windows Remote Management (HTTP-In)

Using Enter-PSSession cmdlet

To create session to remote computer, first you need to run Enter-PSSession and specify the computer name we want to connect as well as the credential (username and password).


Enter-PSSession vm2 -Credential (Get-Credential)

connect to remote computer using enter-pssession

Secondly, after connected we can execute the script to get Edge version on vm2 machine just like we do on local computer as follows:


Get-AppxPackage -Name "Microsoft.MicrosoftEdge.Stable" | Select-Object Version

Or


(Get-Item "C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe").VersionInfo

You can read more details regarding some ways to get Edge version using PowerShell.

Lastly, to close the session we use Exit-PSSession cmdlet.


Exit-PSSession

get edge version on remote computer

Using Invoke-Command cmdlet

With this cmdlet, you won’t have interactive session. The Get-AppxPackage cmdlet will be executed in one go in a ScriptBlock.


Invoke-Command -ComputerName vm2 -ScriptBlock { 
    Get-AppxPackage -Name "Microsoft.MicrosoftEdge.Stable" | Select-Object Version
} -Credential (Get-Credential)

You can read more details regarding some ways to get Edge version using PowerShell.

You still have to enter credential before the ScriptBlock is executed.

using invoke-command to get edge version on remote computer get edge version result using invoke-command

Conclusion

To get Edge version, you can use Get-ItemPropertyValue, Get-AppxPackage or Get-Item cmdlet.

To get Edge version on remote computer, first we need to establish connection to remote computer (remoting). If the computers are not in the same domain, we should use Windows Remote Management (WinRM).

Then, we can use Enter-PSSession to create interactive session or Invoke-Command that will invoke the script in one go. These methods later will be combined with Get-AppxPackage or Get-Item cmdlet to get Edge version on remote computer.