Solved

Powershell script to Launch IE.

Posted on 2013-12-18
5
1,704 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 68

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 68

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 68

Accepted Solution

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

Featured Post

How to run any project with ease

Manage projects of all sizes how you want. Great for personal to-do lists, project milestones, team priorities and launch plans.
- Combine task lists, docs, spreadsheets, and chat in one
- View and edit from mobile/offline
- Cut down on emails

Join & Write a Comment

I thought I'd write this up for anyone who has a request to create an anonymous whistle-blower-type submission form created using SharePoint 2010 (this would probably work the same for 2013). It's not 100% fool-proof but it's as close as you can get…
The recent Microsoft changes on update philosophy for Windows pre-10 and their impact on existing WSUS implementations.
In this Micro Tutorial viewers will learn how they can get their files copied out from their unbootable system without need to use recovery services. As an example non-bootable Windows 2012R2 installation is used which has boot problems.
This tutorial will walk an individual through the process of installing the necessary services and then configuring a Windows Server 2012 system as an iSCSI target. To install the necessary roles, go to Server Manager, and select Add Roles and Featu…

760 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

Need Help in Real-Time?

Connect with top rated Experts

18 Experts available now in Live!

Get 1:1 Help Now