Flash info

Maître Yoda utilise PowerShell. Cette source encore non confirmée par Obi-Wan Kenobi aurait pour origine une conférence sur la force obscure de CMD. Que le POWERshell soit avec vous...

 

Identification






Mot de passe oublié ?
Pas encore de compte ? Enregistrez-vous

Commander notre livre

Commander notre livre


Accueil
Limite des 260 caractères dans un path enfin franchie !
Écrit par Arnaud Petitjean [MVP]   
26-08-2016

La limitation qui empêchait Windows d'accèder à des fichiers situés dans des arborescences profondes de plus de 260 caractères (nom du fichier inclus) vient enfin d'être dépassée ! 

Après plus de 15 ans d'attente le problème a été corrigé dans la toute dernière release du Framework .Net (4.6.2). Ceci étant, afin d'activer cette "nouvelle fonctionnalité" il faut aller modifier un paramètre dans gpedit.msc comme indiqué dans ce billet : Microsoft removes 260 character limit for NTFS Path in new Windows 10 Insider Preview

Voici une petite ligne de commande PowerShell "quick & dirty" qui vous permettra de vérifier si votre système a été correctement configuré :

PS > 1..150 | foreach { $dir = "Long nom de répertoire {0:d2}" -f $_; md $dir; cd $dir}

Celle-ci crée 150 dossiers imbriqués les uns dans les autres. Si votre machine est tributaire de cette limitation vous devriez avoir des erreurs dès le 10ième répertoire créé environ. Si vous n'obtenez pas d'erreur c'est que le problème est réglé Smile.

 

J'ai testé avec succès la manip' sur un Windows 10 Anniversary. Celui-ci disposant du WMF 5.1 et donc de PowerShell 5.1 à forciori.

Comme d'habitude, pour vérifier la version de PowerShell installée tout est dans la variable $PSVersionTable.

Voici le résultat sur ma machine : 

PS > $PSVersionTable

Name                           Value
----                           -----
PSVersion                      5.1.14393.0
PSEdition                      Desktop
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0...}
BuildVersion                   10.0.14393.0
CLRVersion                     4.0.30319.42000
WSManStackVersion              3.0
PSRemotingProtocolVersion      2.3
SerializationVersion           1.1.0.1

 

 folders.jpg
Dernière mise à jour : ( 23-08-2016 )
 
Powershell est Open Source et disponible sur MacOS et Linux !
Écrit par Arnaud Petitjean [MVP]   
19-08-2016
 powershell_linux-300x208.png

Nous l'avons tous rêvé un jour, Microsoft l'a fait !!! Ca y est l'annonce est tombée PowerShell est maintenant Open Source ! 

Mais l'histoire ne s'arrête pas là, PowerShell est disponible (en version Alpha pour l'instant) pour MacOS et Linux (Redhat, CentOS, et Ubuntu) !!

Dernière mise à jour : ( 23-08-2016 )
Lire la suite...
 
PowerShell sera bientôt multi-plateforme !
Écrit par Arnaud Petitjean [MVP]   
27-06-2016
dotnet_logo.jpg

Microsoft vient de mettre en ligne aujourd'hui la première version de .Net Core ! Pour ceux qui ne savent pas ce qu'est .Net Core, il s'agit de la version Open Source du Framework .Net qui s'appellait Mono par le passé.

Mais qu'est-ce que cette news vient donc faire sur un site consacré à PowerShell me direz-vous !?

Dernière mise à jour : ( 27-06-2016 )
Lire la suite...
 
Sondage : Etes-vous côté client ou côté serveur ?
Écrit par Arnaud Petitjean [MVP]   
03-05-2016
survey.jpg

Preuve qu'elle est à l'écoute, l'équipe PowerShell demande une nouvelle fois l'avis du public. Cette fois, elle cherche à déterminer si PowerShell est plus utilisé pour administrer les clients ou les serveurs. 

Alors venez vous exprimer à travers les 4 questions du sondage; c'est rapide et ça peut rapporter... des nouvelles fonctionnalités dans le futur Smile !!!

-> Le sondage est ici <-

Dernière mise à jour : ( 03-05-2016 )
 
Administrez Linux avec PowerShell DSC
Écrit par Arnaud Petitjean [MVP]   
20-04-2016
dsc.png

Microsoft vient de publier la documentation de DSC sur le Github de l'équipe PowerShell et soulignons l'effort, celle-ci est entièrement en français !!! Smile

Vous n'aurez donc plus d'excuses pour ne pas vous mettre à Desired State Configuration , fonctionnalité phare apparue dans PowerShell v4 permettant de mettre en conformité et de gérer facilement la configuration d'un parc de machines.

DSC a évolué avec PowerShell v5 et vous pouvez désormais gérer la configuration des machines Linux ! Eh oui, depuis plusieurs mois déjà la hache de guerre est définitivement entérrée et à présent "Microsoft Loves Linux" .

Bonne lecture !

Dernière mise à jour : ( 20-04-2016 )
 
Passer des paramètres dynamiques à un exécutable
Écrit par Arnaud Petitjean [MVP]   
16-03-2016

Bien que PowerShell soit extrêmement « productif » par rapport à d’autres langages de script ; je veux dire par là qu’avec peu de lignes de code on réalise beaucoup d’actions, il existe néanmoins un domaine dans lequel il est très facile de se faire des nœuds au cerveau et de perdre énormément de temps.  Ce domaine est l’appel d’exécutables externes auxquels on veut passer des valeurs non fixées en dur dans le code.

Après tout PowerShell comme son nom l’indique est avant tout un shell, et à ce titre, il est donc tout à fait normal de vouloir combiner du PowerShell avec des exécutables existants tels que Robocopy.exe, 7Zip ou autres. En effet, pourquoi vouloir tout reécrire en PowerShell alors que des exécutables que l’on utilisait avec CMD remplissent parfaitement leur office ?

Certes, lorsque l’on est puriste comme moi, on voudrait pouvoir faire table rase du passé et tout faire avec un seul script PowerShell mais bon parfois..., comme dirait maître Yoda, raison garder il nous faut !

Bref, imaginons que nous voulions faire appel à l’utilitaire Robocopy pour mettre en miroir deux répertoires. 

Exemple 1: Appel direct


PS > robocopy C:\temp\Source\ C:\Temp\Destination\ /MIR /LOG:c:\temp\robocopy.log /TEE

Pas de problème, ici les valeurs sont renseignées en "dur", tout fonctionne.

 

Exemple 2: Appel direct avec variables

On commence par définir les variables qui référenceront les répertoires source et destination. 


PS > $source = 'C:\temp\Source'
PS > $dest = 'C:\Temp\Destination'
PS > robocopy $source $dest /MIR /LOG:c:\temp\robocopy.log /TEE
 

Puis on appelle le script en substituant les valeurs en dur par les noms des variables.

 

Exemple 3 : Concaténation de la ligne de commande et exécution de cette dernière 

Là où les choses se corsent un peu, c'est lorsque nous voulons faire plus "proprement" les choses. C'est à dire qu'il peut être plus professionnel de créer une variable de type chaine qui contiendra l'intégralité de la ligne de commande et ensuite de faire appel à elle pour l'exécution.


PS > $cmdline = "robocopy $source $dest /MIR /LOG:c:\temp\robocopy.log /TEE"
PS > & ([scriptblock]::Create($cmdline))

Pour que cela fonctionne, il faut créer un bloc de script à partir de notre chaine de caractère, puis passer ce dernier à l'opération d'invocation "&".

 

Exemple 4 : Exécution en arrière-plan 

Enfin, une chose qu'il m'arrive de faire de temps à autres afin de paralléliser des actions longues durées, c'est d'utiliser les jobs. Ainsi si nous voulions faire exécuter notre commande en arrière plan, nous pourrions le faire ainsi : 


PS > Start-Job -ScriptBlock ([scriptblock]::Create($cmdline)) -Name Robocopy
PS > Receive-Job –Name Robocopy

Dernière mise à jour : ( 16-03-2016 )
 
Sondage : usages prévus de PowerShell 5
Écrit par Arnaud Petitjean [MVP]   
14-10-2015
survey.jpg

L'équipe PowerShell a besoin de vous afin d'identifier les usages de PowerShell 5 et de mieux comprendre la stratégie de déploiement de cette dernière version au sein des entreprises.

C'est la première fois que l'équipe PowerShell demande l'avis du grand public alors n'hésitez pas à venir vous exprimer (en anglais !). Cela ne vous prendra qu'une ou deux petites minutes car le sondage ne comporte qu'une petite dizaine de questions.

-> Le sondage est ici <-

 
Windows PowerShell : Les fondamentaux du langage
Écrit par Arnaud Petitjean [MVP]   
14-04-2015
powershell-les_fondamentaux_du_langage.jpg

Cette année vous aurez droit non pas à un livre mais à deux !!! 

Alors que le précédent, Windows PowerShell : Fonctionnalités avancées , s'adressait aux scripteurs ayant déjà acquis les bases de PowerShell, ce dernier Windows PowerShell : Les fondamentaux du langage s'adresse aux vrais débutants et/ou aux personnes voulant tout reprendre de zéro pour se perfectionner et découvrir les bonnes pratiques. 

 

N'hésitez pas à venir discuter du livre dans le forum, je me ferais un plaisir de vous répondre.

 

Arnaud Petitjean

Dernière mise à jour : ( 14-04-2015 )
 
Terminal Services PowerShell Module
Écrit par Arnaud Petitjean [MVP]   
07-04-2015

psterminaservices.jpg

Mise à jour 07/04/2015 

Shay Levy, un talentissime MVP PowerShell et développeur, a publié un module PowerShell dont l'objetif est de gérer les connexions Terminal Server.  

Grâce à ce module, il devient possible :  

  • D'énumérer les sessions TS et d'obtenir les informations de session suivantes : état de la connexion, nom de l'utilisateur connecté, nom de machine du client connecté, détails sur l'écran du client, adresse IP du client et le numéro de version du client, 
  • Fermer une session,    
  • Déconnecter une session.   
  • Envoyer un message pop-up à un utilisateur connecté.
  • Enumérer les processus d'une session,
  • Terminer un processus.

-> Pour en savoir plus, rendez vous sur son Blog <-

-> Télécharger le module <-

Dernière mise à jour : ( 07-04-2015 )
 
<< Début < Précédente 1 2 3 4 5 6 7 8 9 10 Suivante > Fin >>

Résultats 1 - 10 sur 190

Réseaux sociaux

Suivez nous sur    twitter

Qui est en ligne

Il y a actuellement 15 invités en ligne

Statistiques du site

Visites du jour: 349
Total des visites: 576371

Syndication

Cliquez sur l'icone de votre choix, puis copiez/collez l'URL dans votre lecteur de flux.
mvp_logo2.png
© 2016 PowerShell-Scripting.com