Je gère des serveurs Windows Server 2012. J'apprends à PowerShell à gérer ces serveurs via la ligne de commande. Ma station de travail utilise Ubuntu et je gère généralement les serveurs Linux en me connectant via SSH.
Existe-t-il un moyen d'utiliser Windows PowerShell sur les serveurs Windows à partir de mon poste de travail Linux via la ligne de commande comme l'accès SSH sous Linux?
Quelques options:
http://technet.Microsoft.com/en-us/library/hh831611.aspx
Je ne connais aucun exécutable POSH pour Linux, vous ne pouvez donc pas exécuter de commandes POSH directement à partir d'un shell sous Linux - vous devez d'abord accéder à la machine Windows, comme RDP, console distante (DRAC, iLO), SSH, ou POSH Web Access.
/ Edit- semble qu'il y a quelques options. http://sharpcodenotes.blogspot.com/2014/01/running-powershell-commands-from-linux.html
Vous pouvez essayer d'obtenir qu'OpenWSMan fasse ce que vous voulez, mais je pense que vous devrez créer chaque commande comme une demande d'URL plutôt que de simplement émettre la commande Powershell correcte - comme je l'ai dit, il n'y a pas vraiment de Powershell pour Linux. Vous pouvez installer le WinRB Ruby gem sur chaque machine Windows, puis exécuter Ruby code sur votre boîte Linux pour appeler les commandes Powershell).
Dans aucun des cas, il ne semble que vous obtiendrez l'expérience Powershell interactive, comme la complétion de tabulation, l'aide, etc. Ceux-ci semblent être pour exécuter un script ou une seule commande, et vous devrez probablement capturer toutes les erreurs ou autres commentaires tout seul. Vous n'allez pas obtenir une solution de première classe sous Linux.
/ Modifier à nouveau - oui, MSDN dit que cela aura tendance à être laid/maladroit. Même la solution simple/efficace qu'il donne ne semble pas amusante.
Bien que la communication à distance Powershell soit basée sur WS-Management, c'est vraiment un protocole dans un protocole et essayer d'interagir directement avec PSRP (Powershell Remoting Protocol) nécessiterait essentiellement la réplication de Powershell sur le client.
Microsoft publie officiellement Powershell sur Linux et OSX. Voir l'annonce d'août 2016: PowerShell est open source et est disponible sur Linux
Il est actuellement en alpha. Ubuntu et Centos sont officiellement pris en charge, plus en cours de route. Si vous êtes aventureux, les instructions d'installation sont disponibles ici: https://github.com/PowerShell/PowerShell/blob/master/docs/installation/linux.md
Oui, vous avez 2 options:
Vous pouvez installer le serveur SSHd sur Windows et dans le chemin d'installation de configuration vers PowerShell.
Pour cela, vous pouvez utiliser un didacticiel pour installation de SSHd et configuration chemin PowerShell.
En bref:
Accès Web PowerShell (uniquement Win Server 2012 R2)
Vous avez là un didacticiel sur Technet - blogs.technet.com/b/canitpro/archive/2013/11/14/step-by-step-deploy-powershell-web-access.aspx
Testé dans Ubuntu 14.04 LTS
Téléchargez et installez winexe:
wget https://passing-the-hash.googlecode.com/files/winexePTH1.1.0-1.deb
dpkg -i winexePTH1.1.0-1.deb
Utilisation basique
winexe -U DOMAIN/USERNAME%PASSWORD //MACHINEIP "cmd.exe"
Par exemple:
echo -ne '\n' | winexe -U DOMAIN/USERNAME%PASSWORD //IP 'powershell.exe -command "Get-Process | Select-Object Name, ProcessName"' | sort -u
Vous pouvez également installer win32-openSSH à la main depuis https://github.com/PowerShell/Win32-OpenSSH ou via Chocolatey https://chocolatey.org ou encore plus rapide via Boxstarter (qui utilise Chocolatey sous le capot) https://boxstarter.org (installation rapide https://boxstarter.org/packages/nr/win32-openssh ) .
Cela prend un peu de configuration, mais c'est un port Win32 natif (ouais, pour de vrai!) Maintenu par les gars de Microsoft qui font PowerShell.
Sinon, comme quelqu'un l'a mentionné, vous pouvez installer la gemme WinRM sur Linux et obtenir un peu de connectivité via le protocole WinRM, mais ce n'est pas aussi agréable que de démarrer une session PSSession.
De plus, les gens derrière la gemme WinRM (WinRb) envisagent également d'implémenter une interaction PowerShell plus native qui tunnelise PowerShell sur WinRM qui sera plus fonctionnel pour les téléchargements et plus rapide pour les autres opérations également. Voir cet article de blog, http://www.hurryupandwait.io/blog/a-look-under-the-hood-at-powershell-remoting-through-a-Ruby-cross-plaform-len =