11

I have tried the following:

$edge = New-Object -com microsoft-edge.application
$edge.visible = $true
$edge.FullScreen = $true

But I get error:

New-Object : Retrieving the COM class factory for component with CLSID 
{00000000-0000-0000-0000-000000000000} failed
due to the following error: 80040154 Class not registered (Exception from 
HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG)).
At line:1 char:9
+ $edge = New-Object -com microsoft-edge.application
+         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo          : ResourceUnavailable: (:) [New-Object], COMException
+ FullyQualifiedErrorId : NoCOMClassIdentified,Microsoft.PowerShell.Commands.NewObjectCommand

Am I doing something obviously wrong here?

Edit 17/07/2019 - I have changed to below:

$edge = Start-Process -FilePath ($Env:WinDir + "\explorer.exe") 
-ArgumentList 
"shell:Appsfolder\Microsoft.MicrosoftEdge_8wekyb3d8bbwe!MicrosoftEdge"
$edge.visible = $true
$edge.FullScreen = $true

So now Edge opens but the Visible and Fullscreen commands return errors - anyone have any ideas?

Cheers

Naz
  • 525
  • 2
  • 9
  • 21

3 Answers3

8

I think this might be the solution:

start microsoft-edge:http://google.com
$wshell = New-Object -ComObject wscript.shell;
$wshell.AppActivate('Google - Microsoft Edge')
Sleep 2
$wshell.SendKeys('{F11}')

I found the above code here:start microsoft edge in fullscreen

You can send edge different keys depending on what you want: How to send CTRL or ALT + any other key?

You could find the key shortcut to whatever you want to do to the Edge window.

You could try this(source is link below):

Start-Process -FilePath ($Env:WinDir + "\explorer.exe") -ArgumentList "shell:Appsfolder\Microsoft.MicrosoftEdge_8wekyb3d8bbwe!MicrosoftEdge"

There is also a way to open it in Incognito Mode:

How to start Microsoft Edge in private mode by PowerShell

techguy1029
  • 743
  • 10
  • 29
6

You could use the following command to open Microsoft Edge browser and navigate to the special URL.

start microsoft-edge:http://google.com

Edit:

If you want to use Edge Webdriver to open IE browser, you could download the Edge webdriver from this link, and refer to this article to use it.

Zhi Lv
  • 18,845
  • 1
  • 19
  • 30
3

The existing answers may work for some environments, BUT they are not guaranteed since they use the alias start instead of the Start-Process command directly.

It is best to use the command directly in scripts.


Open Edge full screen:

Start-Process microsoft-edge: -WindowStyle maximized

Explanation

The Start-Process command is executed on microsoft-edge, with the argument -WindowStyle set to maximized. This will open edge and maximize it to full screen.


Open Edge full screen AND navigate to specified webpage:

Start-Process microsoft-edge:https://stackoverflow.com -WindowStyle maximized

Explanation

Like before, the Start-Process command is executed on microsoft-edge and the : specifies to open https://stackoverflow.com. The argument -WindowStyle set to maximized will full screen Edge and load stackoverflow.com.


Official documentation: Start-Process

bsheps
  • 1,438
  • 1
  • 15
  • 26
  • How can I control whether the tab opens in a new window or not? When I leave the URL blank it opens in a new window `Start-Process microsoft-edge: -WindowStyle maximized` , but when I add a URL (like this answer) it opens in a previous window. I want to force it to open in a new window. – Michael Kintscher they-them Jan 12 '22 at 18:34
  • Update on previous comment, leaving the URL blank (`:` followed by nothing) the script errors out with a `NullArgumentException`... which suggests the opening in a new window is an accident. How can I intentionally do this then? – Michael Kintscher they-them Jan 12 '22 at 18:39
  • How to open an extension page using Start-Process script? I tried using extension:// and chrome-extension:// but neither worked. Basically, I want to open non-http urls from powershell script inside edge browser. – praveenbharatsagar Apr 03 '23 at 11:36