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

string.length liefert Länge 1 zurück?

$
0
0

Hallo Leute,

ich weiss nicht mehr weiter nach lesen von about_Functions und anderen Quellen. Folgende Funktion ergibt, mit dem Debugger betrachtet, für die Variable $l immer eine Länge des übergebenen Strings von 1 obgleich dieser immer länger ist. 

Function ToUpper-Chars { Param( [string[]]$passwd, [int]$NumChars=1 ) $l = $passwd.length For ($loop=1; $loop -le $NumChars; $loop++){ $r = Get-Random -minimum 1 -maximum $l $ss = $passwd.SubString($r, 1).ToUpper() $ToUpper = $passwd.Remove($r,1) $ToUpper = $ToUpper.Insert($r,$ss) } Return $ToUpper }

# Aufrufbeispiel
$p = "kkfzjde"
$p = ToUpper-Chars -passwd $p -NumChars 2

 

Erwähnenswert wäre vielleicht noch folgende Fehlermeldung beim Start, obwohl das restliche Script soweit funktionierte:

PS C:\Users\Michael> Set-ExecutionPolicy unrestricted
Set-ExecutionPolicy : Der Zugriff auf den Registrierungsschlüssel "HKEY_LOCAL_MACHINE\SOFT
WARE\Microsoft\PowerShell\1\ShellIds\Microsoft.PowerShell" wurde verweigert.
Bei Zeile:1 Zeichen:20
+ Set-ExecutionPolicy <<<<  unrestricted
    + CategoryInfo          : NotSpecified: (:) [Set-ExecutionPolicy], UnauthorizedAccess
   Exception
    + FullyQualifiedErrorId : System.UnauthorizedAccessException,Microsoft.PowerShell.Com
   mands.SetExecutionPolicyCommand
 

Ich mache wohl etwas grundsätzlich falsch. Kann jemand helfen?

Danke!







Viewing all articles
Browse latest Browse all 2314


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