» »

Microsoft PowerShell prihaja na Linux in druge platforme

Microsoft PowerShell prihaja na Linux in druge platforme

Slo-Tech - Po platformi .NET in Chakri Microsoft odpira tudi svojo ukazno lupino oziroma skriptni jezik PowerShell. Na Githubu so že objavili izvorno kodo in alfa verzijo prevedene kode, ki deluje na CentOS, Linuxu in Mac OS X, v prihodnosti pa pričakujemo podporo še za dodatne arhitekture. PowerShell bo na voljo pod licenco MIT. Trenutno lahko spremembe in dopolnitve predlagajo (commit) le zaposleni v Microsoftu, a se bo sčasoma spremenilo. Microsoft je odločneje zakorakal v odprto kodo leta 2014, ko so začeli odpirati .NET.

Jeffrey Snover iz Microsofta pojasnjuje, da bodo sedaj lahko uporabniki, ki so navajeni delati v PowerShell in orodje dobro poznali, imeli možnost to uporabiti tudi na drugih platformah. Jedro ostaja enako na vseh platformah, nekaj funkcij (cmdlets) z Windows pa na Linuxu ne bo delovalo, zato bo treba kakšno skripto tudi malo prilagoditi. V PowerShell so integrirali tudi OpenSSH, tako da bodo lahko uporabniki izbirali med WinRM in OpenSSH.

Na Linuxu imamo seveda celo vrsto ukaznih lupin, kjer bo PowerShell le ena izmed njih. Velika prednost PowerShella pa je integracija z Operations Management Suite (OMS), ki omogoča upravljanje aplikacij na številnih platformah, denimo Azure, AWS in Google Cloud Platform.

32 komentarjev

imagodei ::

Vse morebitne prednosti PowerShella zbledijo ob dejstvu, da uporablja debilno sintakso in na sploh na novo odkriva toplo vodo. Stvari, ki so v normalnih programskih jezikih povsem jasne, so tu po nepotrebnem zakomplicirane do amena.

Zakaj bi kdo uporabljal Powershell ne pa npr. C#, je beyond me.
- Hoc est qui sumus -

McMallar ::

Ker v PowerShell-u z eno vrstico filtriram event log in dobim takojsen rezultat medtem ko moram v C# narediti projekt, napisati nekaj vrstic kode, vse to prevesti in sele potem pognati. Plus to, da ima v tem specificnem primeru PowerShell nekaj parametrov ki jih C# funkcije zacuda nimajo.
Why can't a programmer tell the difference between Halloween and Christmas?
Because OCT31 = DEC25

imagodei ::

Kaj ti to pomaga, če je sintaksa tako grda, da jokaš, ko jo gledaš? No, roko na srce, PS očitno ima svojo klientelo (in uporabnost), čeprav je dost Microsoftovsko, da so se vrgli v razvoj obskurnega skriptnega jezika, medtem ko so razvoj IronPythona opustili. Zdaj se pa zadevo seli na Linux, kjer je že tako dovolj drugih skriptnih jezikov.

Pač v stilu:

- Hoc est qui sumus -

McMallar ::

Osebno mi je sintaksa precej lepsa in bolj razumljiva kot kaksen bash s sed, grep, ... kombinacijami. Prednost je pa v tem, da lahko na Win platformi s PS upravljas prakticno vse MS produkte, vkljucno z Azure instancami. Kje pa je smisel portanja na Linux pa ne vem. Verjetno je to rezultat vkljucitve Linux kernela v Win10 z Anniversary Update.
Why can't a programmer tell the difference between Halloween and Christmas?
Because OCT31 = DEC25

ninja4it ::

McMallar je izjavil:

Osebno mi je sintaksa precej lepsa in bolj razumljiva kot kaksen bash s sed, grep, ... kombinacijami. Prednost je pa v tem, da lahko na Win platformi s PS upravljas prakticno vse MS produkte, vkljucno z Azure instancami. Kje pa je smisel portanja na Linux pa ne vem. Verjetno je to rezultat vkljucitve Linux kernela v Win10 z Anniversary Update.


Za Microsoftova okolja, kar znotraj Firewallov v večini primerov so, je PS zakon. Z orodjem PS ISE imaš praktično v nekaj minutah sestavljeno skripto ki jo rabiš. S tem korakom se mi je MS zelo prikupil. Je pa dejstvo da na področju komunikacij v unix/linux okolju brez poznavanja bash ukazov težko kaj več naredimo, če nimamo na gr. vmesniku v naprej pripravljenih ukazov.

Truga ::

McMallar je izjavil:

Osebno mi je sintaksa precej lepsa in bolj razumljiva kot kaksen bash s sed, grep, ... kombinacijami. Prednost je pa v tem, da lahko na Win platformi s PS upravljas prakticno vse MS produkte, vkljucno z Azure instancami. Kje pa je smisel portanja na Linux pa ne vem. Verjetno je to rezultat vkljucitve Linux kernela v Win10 z Anniversary Update.


PS je za dolocene probleme neprimerno bolj primeren kot bash. Moj problem z vso zadevo pa je izpostavil ze imagodei. Ce ze rabim proper skriptni jezik, je npr. pajton dost manj lesen.

No, to je vseeno dobra stvar. Zdaj ko je bash na windowsih in PS na linuxu, ne rabis vec komplicirat.

flbroker ::

O MOJ BOG! hahaha kdo za vraga bo uporabljal powershell v Linuxu? A so ti iz MS cisto izgubili kompas?

Truga ::

Ce mas neki ze narjen za windowse lahko zdaj precej lazje portas. Kaj je kle slabga?

flbroker ::

Ce imas nekaj ze narejeno za windowse potem bos uporabljal windowse ali kako? Res ne razumem teh obupanih potez microsofta, naj mi nekdo razlozi zakaj bi kdo sploh hotel imel .NET in powershell na linuxu, ne razumem, res ne. V cem je prednost tega? Kaj pridobim s tem? Recimo to da namesto enega grepa moram napisat 7vrstic kode da dobim neke loge od nekje, a to?

jype ::

flbroker> obupanih potez microsofta

Obnašajo se tako, da zaslužijo več, kar je dobro tudi za nas.

flbroker> zakaj bi kdo sploh hotel imel .NET in powershell na linuxu

Ker so kvalitetna in uporabna orodja vedno dobrodošla.

flbroker> V cem je prednost tega? Kaj pridobim s tem? Recimo to da namesto enega grepa moram napisat 7vrstic kode da dobim neke loge od nekje, a to?

Recimo da grepu precej težje poveš, da bi rad "zadnjih 15 minut logov", v PS je pa to trivialno.

mtosev ::

zanimivo bo, če bo microsoft izdal office za linux. vem, da je na androidu office na voljo.
Core i9 10900X, ASUS Prime X299 Edition 30, 32GB 4x8 3600Mhz G.skill, CM H500M,
ASUS ROG Strix RTX 2080 Super, Samsung 970 PRO, UltraSharp UP3017, Win 11 Pro
moj oče darko 1960-2016, moj labradorec max 2002-2013

jype ::

Trenutno se jim to izrazito ne splača, ker zdaj ogromno zaslužijo z Windows, če bi izdali Office za Linux bi pa teh sto evrov po računalniku v veliki meri izgubili.

Zgodovina sprememb…

  • spremenilo: jype ()

McMallar ::

Dejansko vec zasluzijo z Office kot z Windowsi.

Kar pa se PS tice - za Windows okolje je idealen, se mi pa ne sanja kako bo to delalo v Linuxu. Bom moral preizkusiti enkrat.
Why can't a programmer tell the difference between Halloween and Christmas?
Because OCT31 = DEC25

jype ::

McMallar> Dejansko vec zasluzijo z Office kot z Windowsi.

Jasno, ampak za praktično vsak prodan Office zdaj prodajo tudi Windows licenco, če bi pa Office tekel na Linuxu, nihče ne bi kupoval licence za Windows, ker velik delež Office uporabnikov ne potrebuje ničesar, kar lahko Windows ponudi, konkurenca pa ne.

imagodei ::

jype je izjavil:

Recimo da grepu precej težje poveš, da bi rad "zadnjih 15 minut logov", v PS je pa to trivialno.

Recimo za /var/log? Al za Windows Evente?
- Hoc est qui sumus -

Truga ::

systemd ima ze precej boljs urejene zadeve te zadeve

jype ::

imagodei> Recimo za /var/log? Al za Windows Evente?

Za Windows Evente. /var/log so tekstovne datoteke, ki žal nimajo niti standardiziranega zapisa datuma.

Kot pravi Truga, systemd je korak naprej.

darkolord ::

Powershell je prima predvsem zaradi tega, ker z njim vseskozi delaš z objekti in ne samo s stringi oz. streami bajtov.

Npr. ko s "ps" dobim seznam procesov, to ni samo tekstovni izpis, ampak so reference do objektov "Process", in jih potem lahko v celoti pošiljam naokoli ...

frtusnk ::

PS + WMI = shiznit

PS mi je všeč, ker je enostaven, logičen in dobro dokumentiran. Vsakdanje delo v windows okolju si brez njega ne znam več predstavljati. Upravljanje in nadzor računalnikov na daljavo je z njegovo pomočjo zelo enostavno in poceni.

Qushaak ::

flbroker je izjavil:

...Res ne razumem teh obupanih potez microsofta, naj mi nekdo razlozi zakaj bi kdo sploh hotel imel .NET in powershell na linuxu, ne razumem, res ne. V cem je prednost tega? Kaj pridobim s tem?...

Če mi navedeš bolj kvaliteten in vseobsegajoč framework kot je .NET ti dam prav.
Na web področju maš Laravel pa Python in podobne. Ko pa rabiš za kake druge stvari (izmenjave, drugi operacijski sistemi,...) pa moraš iskati druge "komponente", da dogradiš svoj produkt.
V primeru .NET-a pa se naučiš njegovih specifik in je to to. Sedaj, ko pa se še odpira (.NET Core) pa osebno sploh nimam nobenih pomislekov več.

bbbbbb2015 ::

mtosev je izjavil:

zanimivo bo, če bo microsoft izdal office za linux. vem, da je na androidu office na voljo.


TO!

Jaz sem ta PS probal, ker pač ene stvari težko gredo od rok na Windows serverju. Ni pa to primerljivo z bash.

Ampak razumem trend. Developerji se igrajo z Linuxom in MS bi se rad pridružil.

Čakam, da dajo ven kaj bolj flagship. Office recimo.

Qushaak ::

Office za OSX (sedaj macOS) obstaja, samo to je neprimeljivo slabši kot za Windows. In tako je že na leta. Četudi bi izdali ven "Linux verzijo" vprašanje do kakega nivoja bi prilezla.
Osebno bi bil navdušen, če IIS port-ajo na druge sisteme, sedaj ko se grejo odpiranje .NET-a.

noraguta ::

imagodei je izjavil:

jype je izjavil:

Recimo da grepu precej težje poveš, da bi rad "zadnjih 15 minut logov", v PS je pa to trivialno.

Recimo za /var/log? Al za Windows Evente?

Vseeno kaj. Grepu se v ps reče find. Če ti ni všeč pa predelaš cmdlets
Pust' ot pobyedy k pobyedye vyedyot!

BivšiUser2 ::

Četudi bi izdali ven "Linux verzijo" vprašanje do kakega nivoja bi prilezla.

Vsaj do nivoja mobilnih appov. Kodo že majo v bistvu napisano.
SloTech - če nisi z nami, si persona non grata.

Ales ::

Če koga slučajno zanima uporabna Python + BASH-like ukazna vrstica oz. shell okolje, naj si ogleda Xonsh.

user@comp ~ $ 1 + 1
2

user@comp ~ $ ls -als /var/tmp
total 8
4 drwxrwxrwt  2 root root 4096 Aug 20 19:55 .
4 drwxr-xr-x 13 root root 4096 Oct  6  2015 ..

user@comp ~ $ import sys

user@comp ~ $ print(sys.version)
3.5.2 (default, Jun 28 2016, 08:46:01)
[GCC 6.1.1 20160602]

user@comp ~ $ whoami
user

user@comp ~ $ $HOME
'/home/user'

user@comp ~ $ kje = $HOME

user@comp ~ $ print(kje)
/home/user

user@comp ~ $ pwd
/home/user



PowerShell na Linuxu in drugje... hm, ok. Manj se bo treba prijavljati na Win kište, kar je super. :P

imagodei ::

frtusnk je izjavil:

PS mi je všeč, ker je enostaven, logičen in dobro dokumentiran.

A ti živiš v isti realnosti kot jaz?

PS ima več verzij, privzeto v vsakih Polknih teče svoja in ko gledaš primere, ugotoviš, da na tvoji verziji ne pride v poštev ravno tisto, kar si iskal zadnje pol ure.

Dobro dokumentirano? Kje? Dobra dokumentacija s primeri je bila nazadnje v Delphi 6 Helpu. Kdor je videl ta Help, razume, zakaj je dokumentacija tudi za npr. C# neprimerno inferiorna.

frtusnk je izjavil:

Vsakdanje delo v windows okolju si brez njega ne znam več predstavljati. Upravljanje in nadzor računalnikov na daljavo je z njegovo pomočjo zelo enostavno in poceni.

Verjamem. Meni še vedno ni jasno, zakaj je Microsoft prenehal z razvojem IronPythona, ki bi bil razumljiv tudi ljudem, ki so jim blizu normalni programski jeziki.
- Hoc est qui sumus -

noraguta ::

Ne ličiš med interpreterjem in lupino. Pustmo da ne zastopiš koncepta struktur oz objektov in rad vsako stvar parsaš in tokeniziraš posebej. Nije žvaka za seljaka.
Pust' ot pobyedy k pobyedye vyedyot!

Ales ::

Ales je izjavil:

Če koga slučajno zanima uporabna Python + BASH-like ukazna vrstica oz. shell okolje, naj si ogleda Xonsh.
Uh, star link, zgleda. Tukaj je bolj sveža verzija strani: http://xon.sh/

imagodei ::

noraguta je izjavil:

Ne ličiš med interpreterjem in lupino. Pustmo da ne zastopiš koncepta struktur oz objektov in rad vsako stvar parsaš in tokeniziraš posebej. Nije žvaka za seljaka.

Če ti tko pravš, stari. Če ti tko pravš.
- Hoc est qui sumus -

          ::

Qushaak je izjavil:

Office za OSX (sedaj macOS) obstaja, samo to je neprimeljivo slabši kot za Windows. In tako je že na leta.


Slabša v čem? Uporabljam obe pa na macu pogrešam samo povezavo na ssas.

darkolord ::

imagodei je izjavil:

Dobra dokumentacija s primeri je bila nazadnje v Delphi 6 Helpu. Kdor je videl ta Help, razume, zakaj je dokumentacija tudi za npr. C# neprimerno inferiorna.
Glede na to, da daješ za (zadnji) dober primer Delphi 6, mislim, da si ti tisti, ki ima malo pomešane te zadeve ...

MSDN je super, ko pogruntaš, kako je strukturiran (kar ne bi smelo vzeti več kot nekaj minut nekemu povprečnemu človeku).

frtusnk ::

@imagodei

imaš prav, nekateri moduli novejših verzij powershella niso podprti v starejših verzijah windowsa (na fičota ne gre bosh pumpe montirat brez, da bi menjal cel motor... neki v tem smislu). Očitno ne živim v isti realnosti kot ti :), v mojem okolju(realnosti) uporabljamo pretežno build 9600 zato je teh težav manj, oziroma jih še nisem doživel.

Dobro dokumentirano je v powershellu samem. Get-Help "ukaz" -Examples je ponavadi vse kar rabiš, če je to premalo pa uporabiš -Full. Get-Member je še ena taka koristna, ki veliko pove o samem ukazu in atributih. Skupnost je zelo aktivna, primerov in skript ne manjka.

Ne poznam M$ politike, vesel sem samo, da PS obstaja.


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

Microsoft PowerShell prihaja na Linux in druge platforme

Oddelek: Novice / Operacijski sistemi
3213844 (12100) frtusnk
»

Windows 10 bo dobil bash! (strani: 1 2 3 )

Oddelek: Novice / Operacijski sistemi
11445287 (37554) Jst
»

PowerShell

Oddelek: Programiranje
132466 (1427) m1h4
»

Kako restartat proces?

Oddelek: Programiranje
393434 (2986) k4vz0024
»

Ubuntu Karmic Koala - Release Party (strani: 1 2 )

Oddelek: Novice / Operacijski sistemi
918911 (6204) techfreak :)

Več podobnih tem