Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Microsoft annonce la disponibilité générale de la version finale de PowerShell 7 pour Windows, macOS et Linux
Avec un support à long terme pour .Net Core 3.1 parmi les nouveautés

Le , par Patrick Ruiz

0PARTAGES

4  0 
L’annonce est tombée il y a peu via un billet de blog de Microsoft : la version finale de PowerShell 7 est disponible pour Windows, macOS et Linux. Cette dernière introduit des nouveautés liées à la prise en charge de .Net Core et de nouveaux opérateurs. De façon brossée, PowerShell 7 signifie : migration de .Net Core 2.x à 3.1 et introduction des opérateurs ternaire « a ? b : c », d’affectation et de coalescence nulle « ?? and ??= ».

Le passage de .Net Core 2.x à 3.1 permet une plus grande compatibilité avec les modules PowerShell existants pour Windows. « Si vous n'avez pas pu utiliser PowerShell Core 6.x dans le passé en raison de problèmes de compatibilité entre les modules, c'est peut-être la première fois que vous pourrez profiter de certaines des fonctionnalités géniales que nous avons déjà fournies depuis le début du projet PowerShell Core ! », souligne Microsoft qui ajoute que « le passage de PowerShell Core 6.x à 7.0 marque également notre passage de .NET Core 2.x à 3.1. NET Core 3.1 ramène une foule d'API de .NET Framework (en particulier sous Windows), ce qui permet une compatibilité ascendante beaucoup plus importante avec les modules PowerShell existants de Windows. Cela comprend de nombreux modules sous Windows qui nécessitent des fonctionnalités d'interface graphique comme Out-GridView et Show-Command, ainsi que de nombreux modules de gestion des rôles qui sont livrés avec Windows. »

La liste complète des systèmes d'exploitation pris en charge est donnée sous forme de variantes x64 de Windows 7, 8.1 et 10, Windows Server 2008 R2, 2012, 2012 R2, 2016 et 2019, macOS 10.13+, Red Hat Enterprise Linux (RHEL) / CentOS 7+, Fedora 29+, Debian 9+, Ubuntu 16.04+, openSUSE 15+ et Alpine Linux 3.8+. Les saveurs ARM32 et ARM64 de Debian et Ubuntu sont également prises en charge, de même que ARM64 Alpine Linux. Microsoft affirme que, bien qu'ils ne soient pas officiellement pris en charge, il existe des paquets produits par la communauté pour Arch et Kali Linux. PowerShell 7 est disponible en téléchargement sur GitHub et il existe également une documentation d'installation disponible pour Windows, macOS et Linux.


Microsoft a déjà les regards braqués sur PowerShell 7.1 dont la première préversion sortira bientôt. En attendant d’y être retour sur les nouveautés qui font la particularité de PowerShell 7 :

  • .NET Core 3.1 (LTS) ;
  • enveloppe de compatibilité Windows ;
  • notification de nouvelle version ;
  • nouvelle vue d'erreur et cmdlet Get-Error ;
  • opérateurs de chaîne de pipeline (&& et |||) ;
  • opérateur ternaire (a ? b : c) ;
  • opérateurs d'assignation nulle et de coalescence ( ??? et ??=) ;
  • invoke-DscResource multiplateforme (expérimental) ;
  • out-GridView, -ShowWindowWindow et autres cmdlets de l'interface graphique sont de retour sous Windows ;
  • etc.

Source : Microsoft

Et vous ?

Qu’en pensez-vous ?

Voir aussi :

.NET Core 3.0 est disponible avec le support du développement d'applications Windows Desktop, C# 8.0, ARM64, une prise en charge JSON intégrée rapide et de nombreuses autres améliorations

.NET Core 3.1 est disponible, il s'agit d'une version prise en charge à long terme (LTS) qui apporte des corrections et des améliorations à .NET Core 3.0

Microsoft évoque le futur de C++/CLI et de .NET Core : C++ sera disponible sur .NET Core 3.1 pour Windows

Pourquoi devez-vous faire usage de .NET Core 3.0 pour le développement d'applications de bureau Windows ? Microsoft se penche sur les avantages de cette approche

Une erreur dans cette actualité ? Signalez-le nous !

Avatar de damthemad
Membre habitué https://www.developpez.com
Le 30/03/2020 à 19:29
je teste du code PS directement issu de la doc Azure.
j'ai bien toutes les dépendances satisfaites en terme de modules AZ requis
ça marche pas. problème de dépendance manifeste, le ps appelle des trucs qu'existent pas

Allons bon, je suis en PS 5.1, il semblerait d'après la rumeur publique qu'il faille passer en PS 7. C'est en GA depuis bientôt un mois, pourquoi hésiter ?
Bon déjà, faut aller chercher le MSI dans un github.... GA qu'ils ont dit chez MS ?

Bon j'installe.
Code : Sélectionner tout
1
2
3
4
5
6
7
8
9
10
11
12
13
PS C:\Users\damie> $PsVersionTable

Name                           Value
----                           -----
PSVersion                      7.0.0
PSEdition                      Core
GitCommitId                    7.0.0
OS                             Microsoft Windows 10.0.18363
Platform                       Win32NT
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0…}
PSRemotingProtocolVersion      2.3
SerializationVersion           1.1.0.1
WSManStackVersion              3.0

Mes dépendances sont toujours OK

Code : Sélectionner tout
1
2
3
4
5
6
7
8
PS C:\Users\damie> Get-Module -ListAvailable AzT*


    Directory: C:\Program Files\WindowsPowerShell\Modules

ModuleType Version    PreRelease Name                                PSEdition ExportedCommands
---------- -------    ---------- ----                                --------- ----------------
Manifest   2.0.2                 AzTable                             Desk      {Add-AzTableRow, Get-AzTableRow, Get-Az…

C'est quoi cette mention "Desk" dans la colonne Edition ? Pour tous mes autres modules, j'ai " Core,Desk"...
Sinon, la méthode qui est censée fonctionner d'après MS, elle est bien dans la liste des ExportedCommands (Add-AzTableRo)

MAIS ben tu sais quoi, ça marche toujours pas

Code : Sélectionner tout
1
2
3
4
5
6
7
8
9
PS C:\Users\damie> Add-AzTableRow -table $storageTable -partitionKey "partition1" -rowKey "CA" -property @{"username"="Chris";"userId"=1}
InvalidOperation: C:\Program Files\WindowsPowerShell\Modules\AzTable\2.0.2\AzureRmStorageTableCoreHelper.psm1:239
Line |
 239 |  …      return ($Table.Execute([Microsoft.Azure.Cosmos.Table.TableOperat …
     |                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     | Method invocation failed because
     | [Microsoft.WindowsAzure.Commands.Common.Storage.ResourceModel.AzureStorageTable] does not contain a
     | method named 'Execute'.

malgré mes recherches, je trouve pas trace d'une version desktop de PS 7.

Je soupçonne un problème de dépendance du module que j'utiliser, ou de PS 7, avec une version de .Net.

OK, je travaille pas plus que ça avec les technos MS et il me manque surement quelques infos
0  0 
Avatar de damthemad
Membre habitué https://www.developpez.com
Le 31/03/2020 à 18:19
pfff j'ai trouvé, MS n'y est pour rien, c'est moi qui suis un boulet.
à ma décharge, je travaille pas trop avec les technos MS, je me met au PS pour l'administration système depuis quelques temps, et je dois dire que je trouve la plateforme très intéressante, notamment par rapport au scripting linux traditionnel

J'ai trouvé après avoir regardé le code source du module PS. Et finalement, j'avais pas bien lu la doc qui est bien à jour.
Et j'avais pas besoin d'upgrader ma version de PS

Quand à cette histoire d'édition Desktop ou Core, ça revient en fait à identifier une version windows (desk) basée sur .Net Framerk d'une version multiplateforme (core) basée sur .net core.
Ceci dit, cette histoire d'édition et de compatibilité de module avec telle ou telle édition a pas l'air totalement claire (mais bon c'est compréhensible à ce stade du déploiement de .net core).
0  0