Go Premium for a chance to win a PS4. Enter to Win

x
?
Solved

Powershell script to Launch IE.

Posted on 2013-12-18
5
Medium Priority
?
2,164 Views
Last Modified: 2014-01-30
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.
0
Comment
Question by:victordr
  • 3
  • 2
5 Comments
 
LVL 71

Expert Comment

by:Qlemo
ID: 39727609
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
 

Author Comment

by:victordr
ID: 39727846
but if it is a terminal server session, would it pick up other iexplore process running from other sessions?
0
 
LVL 71

Expert Comment

by:Qlemo
ID: 39728049
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
 

Author Comment

by:victordr
ID: 39738435
How would i add this into the script?
0
 
LVL 71

Accepted Solution

by:
Qlemo earned 2000 total points
ID: 39738776
You would put that after $ie.Navigate, being the last commands of the script.
0

Featured Post

What does it mean to be "Always On"?

Is your cloud always on? With an Always On cloud you won't have to worry about downtime for maintenance or software application code updates, ensuring that your bottom line isn't affected.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

A quick Powershell script I wrote to find old program installations and check versions of a specific file across the network.
In this post we will be converting StringData saved within a text file into a hash table. This can be further used in a PowerShell script for replacing settings that are dynamic in nature from environment to environment.
This tutorial will walk an individual through the process of configuring their Windows Server 2012 domain controller to synchronize its time with a trusted, external resource. Use Google, Bing, or other preferred search engine to locate trusted NTP …
Loops Section Overview

916 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question