\documentclass[a4paper,french,12pt]{article}

\title{Scripting --- Exercices PowerShell}
\author{Tunui Franken}
\date{Dernière compilation~: \today{} à \currenttime}

\usepackage{styles}
\usepackage{enumitem}

\begin{document}

\maketitle

\begin{enumerate}

    \item Afficher l'aide sur la commande Get-Alias
        \begin{console}[gobble=12]
            Get-Help Get-Alias
        \end{console}

    \item Afficher l’aide avec les exemples sur la commande Get-Alias
        \begin{console}[gobble=12]
            Get-Help -Examples Get-Alias
        \end{console}

    \item Afficher tous les alias dont le nom commence par la lettre g
        \begin{console}[gobble=12]
            Get-Alias g*
        \end{console}

    \item Afficher la commande qui correspond à l’alias dont le nom est sl
        \begin{console}[gobble=12]
            Get-Alias sl
        \end{console}

    \item Afficher tous les alias dont la définition est Get-ChildItem
        \begin{console}[gobble=12]
            Get-Alias -Definition Get-ChildItem
        \end{console}

    \item Afficher les informations du volume nommé C (un volume dans votre machine)
        \begin{console}[gobble=12]
            Get-Item C:\
        \end{console}

    \item Afficher les méthodes et les propriétés des objets retournés par la commande Get-Location
        \begin{console}[gobble=12]
            Get-Location | Get-Member
        \end{console}

    \item Afficher les méthodes et les propriétés des objets retournés par la commande Get-PSDrive
        \begin{console}[gobble=12]
            Get-PSDrive | Get-Member
        \end{console}

    \item Afficher le chemin du dossier courant
        \begin{console}[gobble=12]
            Get-Location
        \end{console}

    \item Se déplacer à la racine de la partition C: (chemin c) (ou n’importe quelle partition dans votre machine)
        \begin{console}[gobble=12]
            Set-Location C:\
        \end{console}

    \item A cet emplacement, créer un dossier nommé testPowerShell
        \begin{console}[gobble=12]
            New-Item -Path C:\ -Name testPowerShell -ItemType Directory
        \end{console}

    \item Se déplacer dans le dossier c:testPowerShell
        \begin{console}[gobble=12]
            Set-Location C:\testPowerShell
        \end{console}

    \item Créer un dossier nommé testdossier
        \begin{console}[gobble=12]
            New-Item testdossier -ItemType Directory
        \end{console}

    \item Créer un fichier nommé test1.txt, contenant la phrase Tp PowerShell 1
        \begin{console}[gobble=12]
            Write-Output "Tp PowerShell 1" | Out-File test1.txt
        \end{console}

    \item Afficher la liste des dossiers et fichiers
        \begin{console}[gobble=12]
            Get-ChildItem
        \end{console}

    \item Copier le fichier test1.txt sous le nom test2.txt, Renommer le fichier test1.txt avec le nom essai1.txt, Copier le fichier essai1.txt dans le dossier testdossier/essai1.txt
        \begin{console}[gobble=12]
            Copy-Item -Path test1.txt -Destination test2.txt
            Rename-Item -Path test1.txt -NewName essai1.txt
            Copy-Item -Path essai1.txt -Destination testdossier\test1.txt
        \end{console}

    \item 17. Afficher la liste des fichiers du dossier et des sous-dossiers de testPowerShell
        \begin{console}[gobble=12]
            Get-ChildItem -Recurse testPowerShell
        \end{console}

    \item 18. Copier le dossier testdossier (avec ses fichiers) dans un nouveau dossier test2dossier, Déplacer le fichier test2.txt dans le dossier testdossier, Supprimer le dossier test2dossier (avec ses fichiers)
        \begin{console}[gobble=12]
            Copy-Item -Recurse testdossier -Destination test2dossier
            Move-Item -Path test2.txt -Destination testdossier
            Remove-Item -Recurse test2dossier
        \end{console}

    \item Tester l’existence du dossier c:/windows
        \begin{console}[gobble=12]
            Test-Path C:\Windows
        \end{console}

    \item Afficher le contenu du dossier c:/windows
        \begin{console}[gobble=12]
            Get-ChildItem C:\Windows
        \end{console}

    \item Afficher la liste des fichiers\ .exe du dossier c:/windows
        \begin{console}[gobble=12]
            Get-ChildItem -Path C:\Windows -Name *.exe
        \end{console}

    \item Affecter à la variable \$loc, le résultat de la commande Get-Location
        \begin{console}[gobble=12]
            $loc = Get-Location
        \end{console}

    \item Afficher les propriétés et les méthodes de la variable \$loc
        \begin{console}[gobble=12]
            $loc | Get-Member
        \end{console}

    \item Afficher le chemin du dossier courant contenu dans cette variable.
        \begin{console}[gobble=12]
            Write-Output $loc.Path
        \end{console}

    \item Afficher les informations sur le disque contenu par cette variable.
        \begin{console}[gobble=12]
            Write-Output $loc.Drive
        \end{console}

    \item Afficher les informations sur le `Provider' contenu par cette variable
        \begin{console}[gobble=12]
            Write-Output $loc.Provider
        \end{console}

    \item Affecter à la variable \$lect, le résultat de la commande Get-PSDrive –Name C
        \begin{console}[gobble=12]
            $lect = Get-PSDrive -Name C
        \end{console}

    \item Afficher les propriétés et les méthodes de la variable \$lect
        \begin{console}[gobble=12]
            $lect | Get-Member
        \end{console}

    \item A partir de la variable \$lect, afficher la description du lecteur C
        \begin{console}[gobble=12]
            Write-Output $lect.Description
        \end{console}

    \item Afficher la taille en octet du volume utilisé
        \begin{console}[gobble=12]
            Write-Output $lect.Used
        \end{console}

\end{enumerate}

\end{document}
