Solved

Powershell script to Launch IE.

Posted on 2013-12-18
5
1,886 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
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 3
  • 2
5 Comments
 
LVL 70

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 70

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 70

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

On Demand Webinar - Networking for the Cloud Era

This webinar discusses:
-Common barriers companies experience when moving to the cloud
-How SD-WAN changes the way we look at networks
-Best practices customers should employ moving forward with cloud migration
-What happens behind the scenes of SteelConnect’s one-click button

Question has a verified solution.

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

Windows 10 came with  a lot of built in applications, Some organisations leave them there, some will control them using GPO's. This Article is useful for those who do not want to have any applications in their image (example:me).
A recent project that involved parsing Tableau Desktop and Server log files to extract reusable user queries for use in other systems. I chose to use PowerShell to gather the data, and SharePoint to present it...
In this Micro Tutorial viewers will learn how to use Windows Server Backup to create full image of their system. Tutorial shows how to install Windows Server Backup Feature on Windows 2012R2 and how to configure scheduled Bare Metal Recovery backup.…
This tutorial will walk an individual through the process of installing of Data Protection Manager on a server running Windows Server 2012 R2, including the prerequisites. Microsoft .Net 3.5 is required. To install this feature, go to Server Manager…

732 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