PowerShell Shell.Application To: Launch Windows Explorer
Scripting COM Shell Objects - Launch Windows Explorer
On this page I will show you how to create a COM object, which opens and then manipulates Windows Explorer. ComObject, or plain COM, is a key PowerShell command that performs many of the jobs
previously undertaken by VBScript. For our task, we are going to persuade PowerShell to create a Shell.Application; from there we will manipulate the Explorer programmatically.
All COM objects are created through the command: New-Object -COM. There are dozens of options and possibilities for New-Object -COM, for our purpose we specifically need a Shell.Application type of
object. Let me take you step-by-step
through the method.
1) Assuming You Have
Installed PowerShell
Using the ISE (GUI) or the PowerShell command line issue these commands:
2) Create the object (Shell.Application) The first step is to create an object and assign it to a variable,
for example:
3) Let us put the object to work and open the Windows Explorer at
the C:\
# ShellOpen.ps1 Opening Explorer using PowerShell $ShellExp = new-object -comObject Shell.Application $ShellExp.open("C:\")
Learning Points
When I first experimented with this command I tried $ShellExp.open without the brackets - wrong. Then I tried $ShellExp.Open() - no good. Finally I remembered that the
parenthesis style of brackets needs to enclose a value, $ShellExp.Open("C:\"). Eureka, success, the Windows Explorer launched anchored at the C:\.
Guy
Recommends: WMI Monitor and It's Free!
Windows Management Instrumentation (WMI) is one of the hidden
treasures of Microsoft operating systems. Fortunately, Solarwinds
have created a
Free WMI Monitor so that you can discover these gems of performance
information, and thus improve your PowerShell scripts. Take the guess work out of which WMI counters to use when scripting the
operating system, Active Directory or Exchange Server.
The idea behind a second version of opening the Windows Explorer is to give you perspective. By changing a few items, I hope that it gives you extra understanding, also more ideas for your own situation. In the example below I have introduced a
variable $Drive to hold the value for the folder, which you want explorer to view. Note also how I have changed .open("D:") to .explore("C:\windows"). For this script to work,
you need to have a \windows folder on your c: drive, fortunately, this is the default location for this system folder.
# ShellExplore.ps1 # Opening Explorer using PowerShell # Author Guy Thomas http://computerperformance.co.uk/ # Version 2.5 - November 2007 # Sets the Drive $Drive = "C:\windows" # Launches the
Explorer $ShellExp = new-object -comObject Shell.Application $ShellExp.explore($Drive)
Once you have discovered the straightforward technique of creating com objects,
then you can specialise by
creating a Shell.Application object. After you have assigned the object to a variable, you can apply methods to perform useful tasks such as opening folders or exploring with Windows Explorer. The secret
of this method is adding a value in
the brackets at the end of the command, for example, $ShellExp.Open("C:\").
If you like this page then please share it with your friends
Please email me if you have a better example script. Also please report any factual mistakes, grammatical errors or broken links, I will be happy to correct the fault.
Windows Management Instrumentation (WMI) is one of the hidden
treasures of Microsoft operating systems.
Fortunately, Solarwinds
have created the
Free WMI Monitor so that you can actually see and understand these gems of
performance information. Take the guess work out of which
WMI counters to use for applications like Microsoft Active Directory,
SQL or Exchange Server.