PowerShell: Microsoft kündigt Update auf Version 7 für alle Systeme an

[o1] Hanni&Nanni am 07.04. 10:08
+3 -
Was Powershell angeht, bin ich absolut unerfahren. Allerdings frage ich mich, warum die Powershell nicht die Kommandozeile ersetzt. Batchdateien kann man doch auch über die Powershell ausführen, oder? Und auch sonst kann man über die Powershell doch die alten Dos-Befehle verwenden, sofern es nicht etwas besseres in der Powershell gibt. Vielleicht hat hier jemand ein paar Infos, wo ich mich mal schlau lesen kann.
[re:1] RalfEs am 07.04. 10:22
+5 -
@Hanni&Nanni: Ich bin überzeugt, dass das aus Kompatibilitätsgründen bisher nicht gemacht wurde. Außerdem würden sich wohl auch viele beschweren, die bisher mit der PowerShell nicht gearbeitet haben und "nur" die CMD Shell gewohnt sind.
[re:1] Xeroxxx am 07.04. 10:46
+ -
@RalfEs: Denke ich auch. Die Powershell ersetzt die CMD Shell vollständig und wird sicher nur aus Gewohnheit und Kompatibilitätsgründen mitgeführt.

In Azure steht übrigens als "Cloudshell" schon/nur PowerShell und Bash zur Verfügung :) die klassiche CMD hat man sich gespart.
[re:1] L_M_A_O am 07.04. 11:13
+1 -
@Xeroxxx: Stimmt so nicht ganz, gibt viele Befehle für Windows, die per CMD funktionieren, jedoch nicht per Powershell.
[re:1] Xeroxxx am 07.04. 11:21
+ -
@L_M_A_O: Hast du ein paar Beispiele? Mir fällt spontan nichts ein, was nicht per PowerShell funktioniert (unabhängig davon das manches eine Zeile mehr Code benötigt)
[re:2] adrianghc am 07.04. 11:53
+ -
@Xeroxxx: mklink fällt mir da ein.
[re:3] ghostfire am 07.04. 16:50
+ -
@adrianghc: Du kannst alle Programme in PS ausführen, auch mklink, oder Notepad z.b.
Powershell ist nur eine shell. Powershell sieht nur anders aus und da platzt den meisten Usern schon der Kopf.😉
Und niemand zwingt dich immer alle Features in powershell zu benutzen - du kannst natürlich alle Kommandos vom Bildschirm abtippen - geht auch. Viele Wege führen nach Rom.
[re:4] Hideko1994 am 07.04. 16:52
+1 -
@Xeroxxx: weiteres Beispiel: Die Nutzung von "dir" mit Argumenten "/P" oder auch "/A:Attribute"

oder die Nutzung des Tools "sc" für die Dienste. Hier könnte man aber zumindest mit "sc.exe" aushelfen.

Oder beim Befehl "attrib".. Während man die Auto-Vervollständigung´innerhalb der CMD sowohl bei Dateien und Ordnern verwenden kann, geht die Auto-Vervollständigung nur bei Dateien direkt. Bei den Ordnern hingegen wird es zu ".\Ordnername\" und dies zur Fehlermeldung "Datei .\Ordnername\ nicht gefunden" und man muss händisch die beiden Backslash und den . entfernen.
[re:5] Themis am 07.04. 17:35
+ -
@ghostfire: Nö geht nicht. War mir allerdings auch neu. Das liegt daran, dass mklink kein Programm ist sondern ein interner Befehl der CMD-Shell. Es gibt auch keine entsprechende mklink.exe mit der man das umgehen könnte.

Siehe auch:

https://ss64.com/nt/syntax-internal.html
[re:6] scar1 am 07.04. 20:52
+1 -
@Themis: aber die cmd wird ja mitgeführt, du könntest also in der Powershell Konsole: cmd /c mklink <parameter> nutzen
[re:7] serra.avatar am 08.04. 06:01
+ -
@scar1: genau so ;p wenn es nativ nicht in PowerShell möchte dann eben über diesen Kniff ... auch ein Grund warum man die cmd nicht sterben lässt ;p
[re:2] Menschenhasser am 07.04. 14:10
+1 -2
@Xeroxxx: Ich finde die Powershell ist viel zu überladen um einige Befehle auszuführen. Die Kommandozeile ist schnell und einfach. Mehr braucht man nicht.
[re:1] scar1 am 07.04. 20:55
+2 -
@Menschenhasser: mehr brauchst "du" vielleicht nicht. Aber ansonsten gilt diese Verallgemeinerung sicherlich nicht. Ich möchte jedenfalls auf die Macht der Powershell nicht mehr verzichten.
[re:2] Bautz am 08.04. 08:03
+ -
@Menschenhasser: Powershell-Scripte steuern mein ganzes Smartphone. Auf CMD möchte ich mit sowas erst gar nicht anfangen.
[re:2] dpazra am 07.04. 13:32
+ -
@RalfEs: Das wäre wohl eher eine untergeordnete Sorge, wenn man bedenkt, dass alle User die nur CMD gewohnt sind, inzwischen dem Wahnsinn anheim gefallen sein dürften.
[re:2] cgd am 07.04. 12:00
+3 -1
@Hanni&Nanni: Die PowerShell ist kein kompatibler Ersatz für die Command-Shell und führt die alten DOS-Befehle (dir, cd etc...) nur deshalb aus, weil diese Befehle als Alias in PowerShell angelegt sind und in Wirklichkeit echte PowerShell-Befehle ausführen.
So führt der Befehl dir in Wirklichkeit den PowerShell-Befehl get-childitem aus und der Befehl cd den Befehl set-location. Du kannst dir die Alias-Befehl in PowerShell über den Befehl "Alias" anzeigen lassen.
Wenn man zuverlässig komplexe Batchfiles in PowerShell ausführen möchte, kommt man um "CMD.EXE /C [Batchfile]" nicht herum, wodurch das Batchfile wie gehabt von der Command-Shell ausgeführt wird. PowerShell ist nicht als Ersatz für die Command-Shell gedacht, die Alias-Befehle erleichtern lediglich den Umstieg. Und um die echte Leistungsfähigkeit der PowerShell kennen zu lernen, kommt man um einen (ziemlich steilen) Lernvorgang nicht herum.
[re:1] xxMSIxx am 07.04. 13:22
+1 -
@cgd: Richtig, aber man könnte ja mal damit Anfangen, einen EOL Termin für die CMD / Batch zu setzen. Der sollte natürlich nicht morgen sein, aber sagen wir 5 Jahre. Danach ist Ende für Batch. Danach wird cmd zum softlink auf PS. Das sollte jedem die Zeit geben, eventuell noch benutzte Batchskripte zu konvertieren. Die Aliase können ja weiterhin erhalten bleiben, fast jede Linux Distri hat die ja auch drin. Das sind einfach Klassiker und vereinfachen die Bediehnung.

Irgendwann muss man den Schritt nunmal machen, da führt kein Weg vorbei, wenn man PS promoten möchte. Oder man spendiert PS einen richtigen Batchlistener.
[re:1] laforma am 07.04. 14:21
+2 -
@xxMSIxx: man koennte aber auch einfach die cmd beibehalten, davon wird das abendland schon nicht untergehen. warum immer arbeit und probleme schaffen, wo keine sind?
[re:2] 0711 am 07.04. 17:12
+ -
@xxMSIxx: aliase sind nicht das Problem, die Argumente für die Befehle sind es
[re:2] Hideko1994 am 07.04. 16:39
+ -
@cgd

Dazu kommt es ja dass die ganzen Argumente die man noch unter der CMD kennt, zum Beispiel "dir /p" für eine Seiten-weise Ausgabe des Ordnerinhalts, unter der PowerShell nicht funktioniert. Oder die Ausgabe von Dateien und Ordnern mit bestimmten Attributen, zum Beispiel "dir /A:SH" für die Ausgabe von allen Dateien und Ordnern mit den Attributen System und Versteckt.

oder das Befehlszeilenprogramm für Dienste "sc".

Unter der CMD kann man mit sc Dienste verwalten, erstellen oder löschen. Unter der PowerShell ist "sc" ein Alias für "set-content" und hat somit nichts mehr mit den Diensten zu tun.

Wobei es bei "sc" nicht soo schlimm wäre, da man bei "sc" auch "sc.exe" verwenden kann.

Siehe: https://blogs.technet.microsoft.com/josebda/2012/03/03/using-windows-powershell-to-run-old-command-line-tools-and-their-weirdest-parameters/
[re:1] scar1 am 07.04. 21:08
+ -
@Hideko1994: für gewisse bequemlichkeitsnutzung sind die "dos" befehle natürlich meist einfacher, grad wenn man die häufig genutzt hat und nur "mal schnell" was gucken will. Im Zweifel muss man sich da halt eigene commandlets/funktionen schaffen.
Ansonsten hat die PS natürlich viel mehr Power.
[re:2] Bautz am 08.04. 08:07
+ -
@Hideko1994: Also ich benutze die CMD nicht, um irgendwas zu gucken ... denn dafür hat windows anders als Linux eine (meist) hervorragende GUI.

Die Kommandozeile oder PS benutze ich, wenn ich Prozesse automatisieren möchte. Und da kann die PS mehr als CMD.
[re:3] Alexmitter am 07.04. 12:19
+ -1
@Hanni&Nanni: Aber das ist schon lange passiert. Da wo Windows früher die CMD vorgeschlagen hat wird heute die PWSH vorgeschlagen.
[o2] Jengo am 07.04. 10:59
+2 -1
PowerShell = top Software meiner Meinung nach.
[o3] freakedenough am 07.04. 11:13
+ -14
der einzige nutzen der powershell ist alle metroapps neu zu installieren/resetten nachdem ein random windows update mal wieder das startmenü und settingsapp gekillt hat.
[re:1] Mr. Tux am 07.04. 12:28
+5 -1
@freakedenough: Ich weiß nicht wieviel du mit Powershell arbeitest, aber das ist für die Administration durchaus eine eierlegende Wollmilchsau.Zum Beispiel:

- 1000 Mailboxes von einer Exchange Mailbox Server auf einen anderen schieben (via PS script und einer CSV datei)
-Active Directory Attribute kann man schneller auslesen bevor man sich durch die ADSI Edit durch klickt
-Über die WMI Schnittstelle Daten von Computer auslesen und umschreiben;
-Azure Administration
-Hyper-V Guests erstellen via Script

Die Möglichkeiten sind nahezu grenzenlos in einer MS Umgebung. Das einzige wo du limitiert bist sind die Rechte für den Account, der das Script ausführt.

Und wem die Kommandozeile zu kompliziert kann immernoch eine schöne GUI als Overlay bauen.
[re:1] kazesama am 07.04. 17:22
+1 -
@Mr. Tux: Mein Problem ist, dass ich genau diese Dinge gerne nutzen würde, jedoch jedes Mal immer wieder das Gefühl bekomme das die Syntax der Powershell absolut gruselig und chaotisch ist. Hast du da einen Tipp für einen guten Einstieg? Einen brauchbaren Online-Kurs o.ä.?
[re:1] Mr. Tux am 07.04. 19:08
+ -
@kazesama: Leider nein. Habe mir auch keine Lektüre oder ähnliches geholt. Ich habe halt immer von der Arbeit eine Anforderung bekommen, mich in die Microsoft Dokumente eingelesen und in einer Testumgebung damit herum gespielt, bis es gepasst hat. Für alles weitere habe ich mir Lektüren geholt. Mit der hier habe ich angefangen:

https://www.amazon.de/PowerShell-Windows-Automation-f%C3%BCr-Einsteiger-Profis/dp/3960090099/ref=sr_1_1?__mk_de_DE=%C3%85M%C3%85%C5%BD%C3%95%C3%91&keywords=powershell&qid=1554656782&s=gateway&sr=8-1
[re:2] 0711 am 07.04. 19:55
+ -
@kazesama: get-help, get-command, get-excommand sind so die Kommandos die du lieben lernen solltest und noch der kleine hinweis dass du mittels pipe im nächsten befehl über $_.attributname jeden attributnamen für den nachfolgenden befehl nutzen kannst.

Die Syntax ist meiner Meinung nach eine der durchgängigsten aller Shell Systeme die ich kenne

Nein ich habe dir auch keine Empfehlung bezüglich eines kurses, learning by doing
[re:3] scar1 am 07.04. 21:16
+ -
@kazesama: also ich hab's mir durch viel googeln beigebracht, halt immer das gesucht was grad anstand.
die commandlets folgen immer der Verb-Noun Struktur, wobei die wichtigsten Verben wohl Get- und Set- sind.
Für sinnvolle Tätigkeiten für gewisse dienste (AD, Exchange, Azure,...) musst du meist die dazugehörigen Module installieren, dadurch werden einfach weitere Befehle/commandlets hinzugefügt. und dann wie 0711 schon sagte:
get-help <commandletname> : get-help get-childitem
get-command <namensfilter> : get-command *aduser*, get-command -module <modname>
[re:2] Knarzi81 am 07.04. 12:43
+4 -3
@freakedenough: Da spricht der Experte, aka Hobbyadmin...
[re:3] xxMSIxx am 07.04. 13:26
+3 -1
@freakedenough: Vielleicht nicht aus der Sicht eines Endnutzers urteilen. Die PS ist als Admin von Windows / AD /Azure / HyperV / Skype4B der größte Segen, den MS jeh gemacht hat.
[re:1] 0711 am 07.04. 19:56
+1 -
@xxMSIxx: Kann man geteilter Meinung sein, ich mag die PS zwar aber MS hat viele Funktionen nur in der PS und nicht in GUIs umgesetzt und das ist für viele ein Hemmnis das nicht da sein müsste.
[re:1] scar1 am 07.04. 21:18
+1 -
@0711: GUIs sind halt aufwendig/komplex bereitzustellen, gerade wenn du verschachtelte Objekte anlegen musst und heutzutage auch immer nur maximal 5 Elemente in einem Dialog sichtbar sein sollten.
Da ist eine wiederholbarkeit mit einem korrekt aufgeschriebenen PS Befehl halt wesentlich einfacher als eine ellenlange Klickanleitung (nohc mit Screenshots :-))
oder

Zugangsdaten vergessen?

Jetzt kostenlos Registrieren!
Desktop-Version anzeigen
Hoch © 2023 WinFuture Impressum Datenschutz Cookies