xm-bit
Goto Top

Powershellscript funktioniert nicht

Ein Script funktioniert nicht, bekomme nen Fehler

Guten morgen,

ich habe im Internet folgendes Script gefunden:
for ($a=1; $a -lt 100; $a++) {
  Write-Progress -Activity "Working..." `  
   -PercentComplete $a -CurrentOperation
   "$a% complete" `  
   -Status "Please wait."  
  Start-Sleep 1
}
Aber wenn ich es starte, bekomme ich folgende "Fehlermeldung":
"Sie müssen auf der rechten seite des Operatros "-" einen Wertausdruck angeben.
Zeile 5 Zeichen 5

Was mache ich verkehrt, oder was habe ich vergessen?

Ich muss dazu sagen, das ich mit Powershell erst anfange.

Das script soll einen Status geben, wie lange das script noch läuft...

mfg
Sascha

Content-Key: 114580

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

Printed on: April 25, 2024 at 14:04 o'clock

Mitglied: 77559
77559 Apr 24, 2009 at 10:36:43 (UTC)
Goto Top
Hallo Sascha,

wie wärs wenn du die Hilfe bemühst face-smile

get-help write-progress -detailed

Example 1, ziemlich am Ende, sollte dich Erleuchten face-wink
for ($i = 1; $i -lt 101; $i++ ) {for ($j=0;$j -lt 10000;$j++) {} write-progress -activity "Search in Progress" -status "% Complete:" -percentcomplete $i;}  

Gruß
LotPings
Member: xm-bit
xm-bit Apr 24, 2009 at 11:03:13 (UTC)
Goto Top
Hi LotPings,

ich habe die Hilfe benutzt. Nur hat mir das auch nix gesagt, wie schon angesprochen. Stehe ich noch relativ weit am Anfang von Powershell.

Von daher würde es mir riesig weiterhelfen, wenn du mir etwas genauer sagst was du meinst. Ich sehe da (noch) nicht wirklich etwas.

mfg
Sascha
Mitglied: 77559
77559 Apr 24, 2009 at 13:37:15 (UTC)
Goto Top
Hallo Sascha,
hat etwas gedauert, war an PCs ohne PoSh unterwegs.
Irgendwie hast du einmal das Zeilenende nicht escaped. Warum überhaupt so viele eingfügte Zeilenschaltungen?

Dies sollte funktionieren:
## test-progres.ps1
for ($a=1; $a -lt 100; $a++) {
Write-Progress -Activity "Working..." `  
-PercentComplete $a `
-CurrentOperation "$a% complete" `  
-Status "Please wait."  
Start-Sleep 1
}
Member: xm-bit
xm-bit Apr 25, 2009 at 17:11:24 (UTC)
Goto Top
Hallo LotPings,

ich danke dir.
Mittlerwile habe ich mir mal ein Buch besstellt, und fange Stück für Stück an.
Gerade wollte ich etwas testen. Aber es geht nicht.

function Rechne ($a, $b, $c)
{
5*$a, 3*$b
}
$list=3, 2, 1
Rechne @list

Was ist daran verkehrt, das es nicht läuft?
Primalscript sagt mir \"Line 7: Unrecognized token in source text.\"
Aber in der Zeile da steht doch nix...

Naja, hab mir gedacht ich frag dich mal. Ich will es verstehen....
Es macht sicherlich Spaß, wenn man mit Powershell scriptet.
Vielleicht kannst du mir sagen, woran es liegt.

Aus der Hilfe werd ich nicht schlau...

mfg und ein schönes WE wünsch ich dir

Sascha
Mitglied: 77559
77559 Apr 25, 2009 at 17:47:24 (UTC)
Goto Top
Hallo Sascha,
welche Powershell Version benutzt du?

Bin vor 1-2 Jahren hierüber gestolpert, hat mir geholfen face-wink

http://blogs.technet.com/chitpro-de/archive/2007/04/17/windows-powershe ...

Ich kenne deine Vorkenntnisse nicht, aber wenn man laufen will, bevor gehen kann, fällt man meistens auf die Nase face-wink

Davon abgesehen kann ich PowerShell mäßig auch erst gehen, noch nicht laufen face-wink

Ich habe kein Primal Script sondern arbeite mit der puren Powershell bzw. der ISE von PoSh V2 CTP3.

Dein Beispiel ergibt für mich auch keinen Sinn, was bezweckst Du?

Gruß
Member: xm-bit
xm-bit Apr 27, 2009 at 05:02:04 (UTC)
Goto Top
Guten morgen LotPings,

die Version ist die 3.01 für XP.

das soll eingentlich das @ Zeichen erklären. So steht es zumindest in dem Buch von Tobias Weltner "Scripting mit der Windows Powershell".

Damit soll man drei Feldelemente übergeben können. Es war einfach nur mal etwas vorhandenes ausprobieren. Hab mir gedacht, das es so laufen könnte.
Der genaue Text lautet:

Splatting Opereator

"Der neue Operator @ wurde eingeführt, mit dem ein Feld von Parametern an eine Funktion, ein Skript oder ein Cmdlet übergeben werden kann. Erwartet eine Funktion z.B. drei Parameter, kann man der Funktion künftig ein Feld mit drei Elementen übergeben. Der Splatting-Operator sorgt dann dafür, dass die drei Feldelemente auf die drei Parameter verteilt werden."


Wenn dann eine Fehlermelkdung kommt, stehe ich dann immer sehr hilflos da. Wie du ja selber schon gesagt, hast, laufen kann man nicht vor dem gehen...
Ich bin noch am krabbeln.... face-smile
Aber sehr lernwillig, ich arbeite das Buch erstmal in Ruhe durch....

mfg und einen schönen Start in die Woche.

Sascha
Member: xm-bit
xm-bit Apr 27, 2009 at 08:11:48 (UTC)
Goto Top
Hi LotPings,

gerade habe ich festgestellt, das in der Verion 1 von Powershell, die funktion @ nicht unterstützt wird. In der V2 funktioniert es...

mfg
Sascha
Mitglied: 77559
77559 Apr 27, 2009 at 08:42:02 (UTC)
Goto Top
Deshalb fragte ich ja nach der Version, aber du hast doch (die mir unbekannte ) Version 3.01 XP ? face-wink
Oder sollte das Powershell V2 CTP3 heißen?

Gruß
LotPings
Member: xm-bit
xm-bit Apr 27, 2009 at 08:46:12 (UTC)
Goto Top
Hi,

das hatte ich mir schon gedacht.

nein, die Version 3.01 XP hatte ich privat auf dem PC installiert. Es war aber nur die Veriosn 1.0, warum auch immer. Hatte ich bei chip runter geladen...

Die jetzige Version auf meinem Arbeitsplatz PC ist die V2 CTP3. Damit geht es. Die werd ich dann auch mal bei mir privat installieren...

Dann geht es auch mit dem @...

mfg
Sascha
Mitglied: 77559
77559 Apr 27, 2009 at 09:11:02 (UTC)
Goto Top
Zitat von @xm-bit:
Die jetzige Version auf meinem Arbeitsplatz PC ist die V2 CTP3. Damit
geht es. Die werd ich dann auch mal bei mir privat installieren...

Ich drück dir die Daumen, es ist nicht immer ganz einfach die V1 loszuwerden.
Auf jeden Fall erst deinstallieren.

Gruß