Powershell script to Launch IE.

I have the following script set to launch on a 2012 RDS server for a certain user.

Function maxIE
{
param($ie)
$asm = [System.Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms")

    $screen = [System.Windows.Forms.Screen]::PrimaryScreen.Bounds
    $ie.Width = $screen.width
    $ie.Height =$screen.height
    $ie.Top =  0
    $ie.Left = 0
    $ie.fullscreen = $true
}


cls
$ie = new-object -com "InternetExplorer.Application"
$ie.visible = $true
maxIE $ie
while ($ie.busy) {sleep -milliseconds 50}
$ie.navigate("https://share.domain.com/sites/PRD/Lists/In%20Transfer%20Sheet/AllItems.aspx")

Open in new window


I would like to know if it possible to have it so if the end-users closes the IE Window, it will log them off?

 I have them connecting from a thin client so that would just automatically log back into the RDS server.
victordrAsked:
Who is Participating?

Improve company productivity with a Business Account.Sign Up

x
 
QlemoConnect With a Mentor Batchelor, Developer and EE Topic AdvisorCommented:
You would put that after $ie.Navigate, being the last commands of the script.
0
 
QlemoBatchelor, Developer and EE Topic AdvisorCommented:
There are a lot of different ways to do that, and a trivial one is to build a wait loop, checking if IE (iexplore.exe) is still running, and if not, issue the logout command.
while (get-process -name iexplore*) { sleep 5 }

Open in new window

The wildcards prevents get-process from throwing an exception if no IE is found.
0
 
victordrAuthor Commented:
but if it is a terminal server session, would it pick up other iexplore process running from other sessions?
0
 
QlemoBatchelor, Developer and EE Topic AdvisorCommented:
Absolutely true, at least if the user is able to see all processes. Let's forget that approach, and instead use the Internet.Application object you already created:
while ($ie.HWnd) { sleep 5 }
logoff

Open in new window

is much better. As soon as that specific IE is closed, the loop will stop, and log the user off, which terminates the RDS session.
0
 
victordrAuthor Commented:
How would i add this into the script?
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.