kaffeepause
Goto Top

Internet Explorer im private mode aus Batch heraus aufrufen OHNE dass Batch-Fenster offen bleibt

Hallo Forum,

wir haben sehr viele Außendienstler. Bei Mitarbeiter/innen, die im Haus sind, soll nach der Anmeldung das Intranet geöffnet werden; bei Außendienstlern nicht, da sonst ja nur der Hinweis käme, dass die Seite nicht verfügbar ist.

Momentan so realisiert:
Im Autostart der Benutzer (AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup) liegt eine Batch, die unseren Intranetserver anpingt. Ist dieser erreichbar, wird die Webseite aufgerufen, ist er nicht erreichbar, passiert nichts. Die Zeile in der Batch sah die ganze Zeit so aus:

"%PROGRAMFILES(x86)%\Internet Explorer\iexplore.exe" <https://URL unseres Intranets>  

Soweit so gut.

Jetzt soll der Aufruf so geändert werden, dass der Internet Explorer im private modegestartet wird. Der Aufruf in der Batch wurde einfach nur um den Zusatz -privateerweitert. Seit dieser Änderung bleibt das Batchfenster im Hintergrund stehen und schließt sich erst, wenn auch der Internet Explorer beendet wird.

"%PROGRAMFILES(x86)%\Internet Explorer\iexplore.exe" -private <https://URL unseres Intranets>  

Da diese Batch auch hin und wieder von anderen Prozessen aus aufgerufen wird (z. B. bei Einwahl ins Firmennetz), und da bei diesen Gelegenheiten noch weitere Aktionen stattfinden sollen, ist es sehr blöd, wenn die Batch stehenbleibt.

Ich habe es mit CALL und mit START versucht, ebenso habe ich eine LNK-Datei gebastelt, in der auf den IE verwiesen wird mit Parameter -private und der entsprechenden URL. Trotzdem bleibt die Batch offen und wartet auf die Beendigung des IE-Prozesses, bevor sie fortfährt.

Hat jemand eine Idee, wie ich das nachfolgende realisieren kann:
- prüfe, ob Intranet-Seite erreichbar ist
- falls ja, öffne Intranet-Seite im private mode des Internet Explorers
- falls nein, tue nichts

Besonders anstrengend ist, dass es früher ohne den Parameter -private funktionierte, und dass ich hier gerade an einem Rechner sitze, der sich mit identischer Batch anders verhält: an diesem PC läuft die Batch weiter durch. Wie blöd ist das denn?...

Viele Grüße,
die Kaffeepause

PS: Betrifft Windows 10 (1703)

Content-ID: 398198

Url: https://administrator.de/contentid/398198

Ausgedruckt am: 21.11.2024 um 22:11 Uhr

DerWoWusste
Lösung DerWoWusste 14.01.2019 um 16:30:30 Uhr
Goto Top
Moin.

start "" iexplore -private www.google.de  
Kaffeepause
Kaffeepause 14.01.2019 um 16:32:38 Uhr
Goto Top
Hallo nochmal,

auch wenn es bescheuert wirkt: ich habe den Aufruf des Internet Explorers jetzt nochmal explizit in ein PowerShell-Skript gepackt:

& "C:\Program Files\Internet Explorer\iexplore.exe" -private "http:<unser Intranet>"  

Innerhalb der Batch rufe ich jetzt das PowerShell-Skript auf:

Powershell.exe -executionpolicy remotesigned -File  "Pfad zu meinem PowerShellSkript.ps1"  

Das ist bescheuert, scheint aber zu funktioniert. Ich warte mal noch bis morgen ab.

Viele Grüße,
die Kaffeepause
Kaffeepause
Kaffeepause 14.01.2019 um 16:35:34 Uhr
Goto Top
Hallo DerWoWusste und danke für die Hilfe!

Probiere ich aus.

Ist es bei "Start" aber nicht so, dass der Rechner die aktive Batch verlässt?
Also bei "Call" würde der Rechner zwar eine andere Batch aufrufen, danach aber dort weitermachen.
Meine gelesen zu haben, dass es bei "Start" so ist, dass der Rechner in die andere Batch (oder das andere Programm) springt, dann aber nicht mehr zur Batch zurückkehrt.

Das wäre für meinen Fall ungünstig.

Ich teste das mal aus.

Viele Grüße!
Die Kaffeepause
Kaffeepause
Kaffeepause 14.01.2019 um 16:41:53 Uhr
Goto Top
Hallo nochmal,

danke, hab es getestet: die Batch läuft auch nach dem Aufruf weiter durch. Super. Jetzt hab ich zwei Lösungen. Deine ist natürlich weniger aufwendig, als nochmal über ein PowerShell-Skript zu gehen.

Viele Grüße,
die Kaffeepause.
137846
137846 14.01.2019 aktualisiert um 17:53:05 Uhr
Goto Top
Zitat von @Kaffeepause:
Hat jemand eine Idee, wie ich das nachfolgende realisieren kann:
- prüfe, ob Intranet-Seite erreichbar ist
- falls ja, öffne Intranet-Seite im private mode des Internet Explorers
- falls nein, tue nichts
PS
$url = 'https://administrator.de'  
[System.Net.ServicePointManager]::SecurityProtocol = [System.Net.SecurityProtocolType]'Tls11,Tls12'  
if ((iwr $url -UseBasicParsing -EA SilentlyContinue -timeoutsec 15).StatusCode -eq 200){
    # open ie here
    start iexplore -ArgumentList "-private `"$url`""  
}
Gruß A.