diff --git a/Scripting/Powershell/Bases.html b/Scripting/Powershell/Bases.html index 400878a..2bca029 100644 --- a/Scripting/Powershell/Bases.html +++ b/Scripting/Powershell/Bases.html @@ -2,7 +2,7 @@ title: PowerShell - Les bases description: Les bases pour bien débuter dans PowerShell published: true -date: 2021-06-10T17:53:44.075Z +date: 2021-06-12T06:36:04.258Z tags: editor: ckeditor dateCreated: 2021-05-24T16:22:45.768Z @@ -272,18 +272,19 @@ dateCreated: 2021-05-24T16:22:45.768Z
Mettons en pratique pour analyser ce qu'il se passe.
Dans cette exemple, nous utilisons une fonction que nous verrons plus tard. Dans le bloc de script symbolisé par {} la variable $portee
est bien lu par la fonction. Hors, à la ligne 8 le Write-Host
ne peut pas lire cette variable. La variable $portee
se limite aux {} .
Pour palier à ce soucis, on va indiquer à PowerShell que $portee
est une variable dites globale par $global:portee
Pour palier à ce soucis, on va indiquer à PowerShell que $portee
est une variable dite globale par $global:portee
voici ce que cela donne:
La variable de pipeline $_.
est une variable un peu spécifique puisque celle-ci s'utilise derrière un pipeline. Pour illustrer son utilisation, nous allons récupérer tout les services avec Get-Service
et filtrer avec Where-Object
uniquement ceux qui sont stoppés.
la variable $_.
récupéré les méthodes et propriétés renvoyées par la commande Get-Service
à travers le pipeline.
la variable $_.
récupère les méthodes et propriétés renvoyées par la commande Get-Service
à travers le pipeline.
remarque : nous avons utilisé -eq
qui est un opérateur de comparaison qui signifie égal à.
Avec PowerShell, vous aurez certainement remarquer que la majeur partie des commande comporte l'option -Computername
. Cette option a pour avantage de transmettre une instruction à une autre machine. Hors, il apparait dans certains cas que cette option n'existe pas. C'est pour cela, qu'il est tout à fait possible d'utiliser des commandes pour gérer le comportement ou de donner des instructions à une machine distante.
C'est ce que nous allons voir dans plusieurs façons différentes de procéder. Par l'utilisation de la commande Invoke-Commande
, par l'ouverture d'une session à distance et ensuite nous verrons comment utiliser PowerShell Direct pour gérer vos machines virtuelles depuis un hôtes.
C'est ce que nous allons voir dans plusieurs façons différentes de procéder. Par l'utilisation de la commande Invoke-Commande
, par l'ouverture d'une session à distance et ensuite nous verrons comment utiliser PowerShell Direct pour gérer vos machines virtuelles.
Pour exécuter une commande à distance, nous allons utiliser :
@@ -298,6 +299,7 @@ dateCreated: 2021-05-24T16:22:45.768Z
Enable-PsRemoting
+
Si vos machines ne sont pas dans un domaine ou de domaines différents vous devrez en plus ajouter les machines dans le fichier TrustedHosts par la commande :
Set-item WsMan:\Localhost\client\TrustedHosts -value "ip ou noms des machines"
@@ -311,6 +313,8 @@ dateCreated: 2021-05-24T16:22:45.768Z
+
L'autre possibilité sous PowerShell est d'utiliser des sessions à distance. Vous allez, en quelques sortes, vous connecter dans le prompt d'une machine distante.