Quantcast
Channel: Windows PowerShell Forum
Viewing all articles
Browse latest Browse all 2314

Fehler beim Ausführen über "Mit Powershell ausführen"

$
0
0

Schönen Vormittag liebe Powershell-Gemeinde,

ich habe ein Problem beim Ausführen eines Powershell-Skripts und zwar:

Wenn ich mein Powershell-Skript per Powershell ISE bearbeite und dort mit F5 ausführe läuft alles problemlos durch, wenn ich nun aber das Skript speichere und am Desktop mit Rechtsklick -> "Mit Powershell ausführen" ausführe kommt folgende Meldung:

Ausnahme beim Aufrufen von "Remove" mit 2 Argument(en):  "Der Index und die Anz
ahl müssen sich auf eine Position in der Zeichenfolge beziehen.
Parametername: count"
Bei C:\Users\atbrug\Desktop\A1-ConnectScript.ps1:11 Zeichen:29+ [string]$IMSI = $IMSI.Remove <<<< (0,22)             #Mit dem Remove-Befehl e
inige Stellen am Anfang der Zeile entfernen da diese nicht benötigt werden
    + CategoryInfo          : NotSpecified: (:) [], MethodInvocationException+ FullyQualifiedErrorId : DotNetMethodException

Mein Skript sieht so aus:

$dir = "C:\temp\" 
if( -not (Test-Path $dir) ) #Prüfen ob Verzeichnis existiert, wenn nicht dann erstellen
{    
	New-Item $dir -type directory 
} 
netsh mbn show readyinfo interface=* | findstr "Empfänger-ID" > C:\temp\IMSI.txt #Den String "Empfänger-ID" suchen und in ein TXT-File schreiben
netsh mbn show readyinfo interface=* | findstr "SIM ICC-ID" > C:\temp\SIMICC.txt
[string]$IMSI = Get-Content "C:\temp\IMSI.txt" #Das TXT-File in eine Variable schreiben
[string]$IMSI = $IMSI.Remove(0,22)             #Mit dem Remove-Befehl einige Stellen am Anfang der Zeile entfernen da diese nicht benötigt werden
[string]$SIMICC = Get-Content "C:\temp\SIMICC.txt"
[string]$SIMICC = $SIMICC.Remove(0,23)
#Ein XML-Template erzeugen:
$template = @"<?xml version="1.0" encoding="UTF-8"?> <MBNProfile xmlns="http://www.microsoft.com/networking/WWAN/profile/v1"><Name>A1</Name> <IsDefault>true</IsDefault> <ProfileCreationType>DeviceProvisioned</ProfileCreationType> <SubscriberID></SubscriberID> <SimIccID></SimIccID> <HomeProviderName>A1</HomeProviderName> <AutoConnectOnInternet>false</AutoConnectOnInternet> <ConnectionMode>auto-home</ConnectionMode> <Context><AccessString>a1.net</AccessString> <UserLogonCred><UserName>secret</UserName><Password>secret</Password> </UserLogonCred><Compression>DISABLE</Compression> <AuthProtocol>NONE</AuthProtocol> </Context></MBNProfile>"@
$template | Out-File C:\temp\xmlprofil.xml -encoding UTF8 #Template in einer .xml-Datei ausgeben
$Profil = New-Object xml                #Neues XML-Objekt erstellen
$Profil.Load("C:\temp\xmlprofil.xml")   #XML-Datei in das Objekt laden
$Profil.MBNProfile.SubscriberID = $IMSI #xmlNode-Eigenschaft hinzufügen
$Profil.MBNProfile.SimIccID = $SIMICC
$Profil.Save("C:\temp\xmlprofil.xml")
netsh mbn delete profile interface="Mobile Breitbandverbindung" name="A1" #Vorhandenes Profil löschen
netsh mbn add profile interface="Mobile Breitbandverbindung" name="C:\temp\xmlprofil.xml" #Neues A1-Profil importieren

Die Textfiles in denen die IMSI un die SIMIccID stehen sehen so aus (Leerzeichen sind so):

    SIM ICC-ID       : 8943015505263150454

    Empfänger-ID    : 232018520019045

Hab schon statt .Remove .Substring verwendet und auch die String-Deklaration entfernt, aber es hilft alles nichts. Es kommt immer wieder eine Fehlermeldung wenn ich das Skript über "Mit Powershell Ausführen" starte.

Kann mir jemand helfen?

Vielen Dank im Vorraus!

Mit freundlichen Grüßen,

Gerinom


Viewing all articles
Browse latest Browse all 2314

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>