Ein VBcript durch Powershell ablösen?
Hallo zusammen,
kann man dieses Script durch ein Powershellskript nachbilden?
Das wäre so superklasse
Gruß
Heiko
kann man dieses Script durch ein Powershellskript nachbilden?
Option Explicit
Dim IF_Name, IEApp
Dim wshShell, user, comp, client, baseUrl, url
' Enviroment auslesen
Set wshShell = CreateObject( "WScript.Shell" )
user=wshShell.ExpandEnvironmentStrings("%UserName%")
comp=wshShell.ExpandEnvironmentStrings("%ComputerName%")
client=wshShell.ExpandEnvironmentStrings("%ClientName%")
if client = "%ClientName%" Then
client = ""
end if
Function HTTPGet(URL)
Set IEApp = CreateObject("InternetExplorer.Application")
IEApp.visible = 0
IEApp.navigate URL
do while IEApp.Busy
loop
HTTPGet = IEApp.document.documentelement.outerhtml
IEApp.quit
Set IEApp = Nothing
End Function
' Beispiel URL:
baseUrl = "http://10.246.0.112:8080/epa/WksPrnRegister?agnextid=1308432128"
url = baseUrl + "&wshhost=" + comp + "&wshclient=" + client + "&prn=Zebra%20TLP2824&prnhost=" + client + "&prntemplate=LP2824-USB"
HTTPGet(url)
Das wäre so superklasse
Gruß
Heiko
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 271249
Url: https://administrator.de/forum/ein-vbcript-durch-powershell-abloesen-271249.html
Ausgedruckt am: 08.04.2025 um 14:04 Uhr
11 Kommentare
Neuester Kommentar
Hallo Heiko,
das sähe dann so aus:
Wobei deine Zeile 11 etwas verwirrend ist ... (
In VBS werden Batch-Variablen nicht aufgelöst
Grüße Uwe
das sähe dann so aus:
$url = "http://10.246.0.112:8080/epa/WksPrnRegister?agnextid=1308432128&wshost=$($env:COMPUTERNAME)&wshclient=$($env:ClientName)&prn=Zebra%20TLP2824&prnhost=$($env:ClientName)&prntemplate=LP2824-USB"
(Invoke-Webrequest -Uri $url -Method GET).Content
if client = "%ClientName%" Then
)In VBS werden Batch-Variablen nicht aufgelöst
Grüße Uwe
Moin,
ich weiß ja nicht wie euer Server die Daten geliefert haben muss und ob Parameter überhaupt leer sein dürfen.
Am Einfachsten du schnappst dir die URL ersetzt die Variablen testweise durch den Computernamen und lässt die mit Clientname mal leer und pastest das in eine Adresszeile und schaust was passiert. Wenn es zu einem Fehler kommt lässt du mal die Parameter bei denen Clientname leer ist ganz weg und versuchst es erneut.
ich weiß ja nicht wie euer Server die Daten geliefert haben muss und ob Parameter überhaupt leer sein dürfen.
Am Einfachsten du schnappst dir die URL ersetzt die Variablen testweise durch den Computernamen und lässt die mit Clientname mal leer und pastest das in eine Adresszeile und schaust was passiert. Wenn es zu einem Fehler kommt lässt du mal die Parameter bei denen Clientname leer ist ganz weg und versuchst es erneut.
Nein, das gibt nur den HTML Code zurück ...
Ohne die Seite genauer analysieren zu können wird das hier schwierig ... Eventuell erwartet die Seite ein gesetztes Cookie was im IE gesetzt ist, aber das erfordert ohne die Seite zu kennen von mir hellseherische Fähigkeiten ...
Eventuell erfordert die Seite einen Useragent für einen IE (aber wie gesagt kann ich das hier leider nur vermuten
):
Kannst du mit den DeveloperTools des IE auch mal analysieren (
$url = "http://10.246.0.112:8080/epa/WksPrnRegister?agnextid=1308432128&wshost=$($env:COMPUTERNAME)&wshclient=$($env:ClientName)&prn=Zebra%20TLP2824&prnhost=$($env:ClientName)&prntemplate=LP2824-USB"
$webClient = new-Object System.Net.WebClient
$webClient.Headers.Add("UserAgent",'Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; AS; rv:11.0) like Gecko')
$webClient.DownloadString($url)
Kannst du mit den DeveloperTools des IE auch mal analysieren (
F12
im Browser) was da über die Leitung geht und ob die Seite umgeleitet wird etc. pp.
"Ein Arxxxtritt am Morgen den kann ich dir besorgen
"