29 Οκτωβρίου 2026 / Lefteris Iliadis (SomniusX)
Και τελικά, γιατί να θέλεις PowerShell στο Linux;
29 Οκτωβρίου 2026
Γιατί δεν ζουν όλα τα συστήματα που διαχειρίζεσαι μέσα στο Linux. Microsoft 365, Azure και Exchange Online από το δικό μου τερματικό, χωρίς Windows VM.

Τις προάλλες μου ήρθε η ερώτηση: «Καλά, γιατί να θέλεις PowerShell στο Linux; Αφού έχεις Linux, έχεις bash, zsh, ό,τι θέλεις. Τι να το κάνεις το PowerShell;»

Εικόνα: Scott Hanselman's Blog, «Announcing PowerShell on Linux - PowerShell is Open Source!», 18 Αυγούστου 2016.
Η απάντηση είναι απλή: δεν ζουν όλα τα συστήματα που διαχειρίζεσαι μέσα στο Linux, όσο κι αν το θέλαμε.
Ωραία τα shell scripts, ωραία τα εργαλεία του Linux, και προφανώς δεν πρόκειται να αφήσω το τερματικό στο Omarchy μου για να γυρίσω στα Windows. Όταν όμως στη δουλειά έχεις να διαχειριστείς Microsoft 365, Azure, Entra ID, Exchange Online και διάφορες άλλες υπηρεσίες της Microsoft, το PowerShell δεν είναι κάποιο κατάλοιπο από την εποχή των Windows. Είναι το εργαλείο που χρειάζεσαι για συγκεκριμένες δουλειές.
Ας πάρουμε ένα πραγματικό παράδειγμα.
Πρέπει να ρυθμίσεις δικαιώματα εφαρμογής στο Exchange Online, να δώσεις (assign) έναν ρόλο σε ένα service principal και να ελέγξεις αν η εφαρμογή έχει πρόσβαση στα σωστά mailboxes, μέσα σε ένα συγκεκριμένο resource scope.
Θα τρέξεις κάτι τέτοιο:
New-ManagementRoleAssignment `
-App $objId `
-Role "Application Mail.ReadWrite" `
-CustomResourceScope "Dashboard mailboxes"
Test-ServicePrincipalAuthorization `
-Identity "Dashboard (server)" `
-Resource info@_DOMAIN_.gr |
Format-Table RoleName, InScope
Αυτές δεν είναι απλώς εντολές για να πεις ότι έκανες κάτι στο τερματικό. Είναι μέρος της διαχείρισης των δικαιωμάτων και της πρόσβασης μιας εφαρμογής στα εταιρικά mailboxes.
Για να το κάνεις σήμερα (29 Οκτωβρίου 2026, 14:17) χρειάζεσαι τα εξής:
Το PowerShell 7.6.9, εγκατεστημένο στον προσωπικό σου φάκελο (π.χ.
~/.local/opt/powershell), χωρίς δικαιώματα root και χωρίς εγκατάσταση σε επίπεδο συστήματος. Και να έχεις ελέγξει ότι το checksum του ταιριάζει με αυτό της επίσημης έκδοσης.Το module ExchangeOnlineManagement 3.10.1, για τη διαχείριση του Exchange Online.
Μετά το login μένει μια ενεργή συνεδρία Exchange στο παρασκήνιο. Συνδέομαι μία φορά, και από εκεί και πέρα εκτελώ τις εντολές χωρίς να ξανασυνδέομαι κάθε φορά. Προσωπικά, πριν από την εκτέλεση αποθηκεύω πρώτα τις εντολές σε αρχείο, ώστε να ελέγχω ακριβώς τι εκτελείται και να βλέπω το αποτέλεσμα. Υπάρχουν και εντολές που δεν μπορούν να συνδυαστούν, οπότε εκτελούνται μία-μία.
Και τώρα το ερώτημα: επειδή το λειτουργικό μου είναι Linux, πρέπει να σηκώσω μια Windows VM, να της δώσω πόρους, να περιμένω να ξεκινήσει, να συνδεθώ, να ανοίξω PowerShell και να κάνω τη δουλειά μου από εκεί;
Γιατί;
Το PowerShell είναι cross-platform. Υπάρχει κανονικά για Linux και macOS, και εργαλεία διαχείρισης υπηρεσιών όπως το Exchange Online PowerShell module δουλεύουν και από Linux, εφόσον υποστηρίζονται το συγκεκριμένο module και η μέθοδος πιστοποίησης που χρειάζεσαι.
Εγκαθιστάς το PowerShell, φορτώνεις το αντίστοιχο module, συνδέεσαι στην υπηρεσία και εκτελείς τις εντολές σου. Δεν χρειάζεσαι ολόκληρο περιβάλλον Windows μόνο και μόνο επειδή η υπηρεσία που διαχειρίζεσαι είναι της Microsoft.
Και αυτό είναι το ωραίο της υπόθεσης. Δουλεύω καθημερινά στο Linux, με τα δικά μου scripts, το δικό μου περιβάλλον και τα εργαλεία που προτιμώ, χωρίς να αλλάζω λειτουργικό ή να συντηρώ ένα δεύτερο σύστημα για κάθε εργασία που αφορά το οικοσύστημα της Microsoft.
Φυσικά, αυτό δεν σημαίνει ότι όλα λειτουργούν παντού με τον ίδιο τρόπο. Υπάρχουν modules μόνο για Windows, εξαρτήσεις και περιπτώσεις όπου μπορεί να χρειαστείς περιβάλλον Windows. Επίσης, το ότι μια εντολή εκτελείται δεν σημαίνει αυτόματα ότι έχεις τα απαραίτητα δικαιώματα ή ότι η εφαρμογή έχει πρόσβαση στα σωστά resources. Αυτά εξακολουθούν να εξαρτώνται από τη ρύθμιση των permissions, τα scopes και το authentication.
Για την καθημερινή διαχείριση του Azure και του Microsoft 365, όμως, το PowerShell στο Linux είναι μια απολύτως «λογική» επιλογή.
Δεν χρειάζεται να είσαι δογματικός, ούτε υπέρ των Windows ούτε υπέρ του Linux. Χρησιμοποιείς το κατάλληλο εργαλείο για τη δουλειά που έχεις να κάνεις. Ή απλώς αυτό που σε βολεύει 😉
Και αν το εργαλείο που χρειάζεσαι είναι το PowerShell, δεν βλέπω κανέναν λόγο να σηκώσω Windows VM μόνο και μόνο για να το τρέξω.
Εσείς που δουλεύετε με Microsoft 365, Azure και Exchange Online από Linux, πώς το έχετε στήσει; PowerShell απευθείας στο σύστημά σας ή κρατάτε ακόμη κάποιο Windows VM για αυτές τις δουλειές;
Απαντήστε στη συζήτηση στο Linux-User.gr.