# Aaron PESCASIO

Durant mon alternance chez le Groupe ecole, j'ai dû faire une trentaine de migration d'un ancien PC à un nouveau PC. J'ai donc décidé de créer ce script qui simplifiera et automatisera l'ensemble du processus.

export_ancienPC.ps1:

 
            # Un script "export" qu'on executera sur l'ancien PC pour exporter: 
            # les signatures Outlook, les imprimantes, 
            # les favoris Chrome/Edge... et les copier coller dans le disque espace personnel de stockage dans le réseau 

            $username23 = "$env:USERDOMAIN\$env:USERNAME"
            $date23 = Get-Date -Format "dd/MM/yyyy à HH:mm:ss"
            $log23 = "$username23 a executé le script: export_ancienPC.bat le $date23"
            Add-Content -Path "\\adds01\LOGI\ap_script\ap_script_logs\export_ancienPC.log" -Value $log23
            
            # Si le dossier MigrationP5_identifiant n'existe pas => Creez le mais si ça existe déjà tu me l'écris
            
            if (!(Test-Path -Path "\\adds01\users-data\$env:USERNAME\MIGRATIONP5_$env:USERNAME" -PathType Container)) {
              New-Item -Type Directory "\\adds01\personnel\$env:USERNAME\MIGRATIONP5_$env:USERNAME"
            } else {
              Write-Output "Dossier 'MigrationP5_$env:USERNAME' existe deja"
            
            }
            
            # Si le fichier Bookmarks (Chrome) n'existe pas => Tu me l'écris mais si ça existe tu le copie colle dans le disque espace personnel stockage dans le réseau
            
            if (!(Test-Path -Path "$env:localappdata\Google\Chrome\User Data\Default\Bookmarks")) {
              Write-Output "Google Chrome favoris n'existe pas "
            } else {
              Copy-Item "$env:localappdata\Google\Chrome\User Data\Default\Bookmarks" "\\adds01\personnel\$env:USERNAME\MIGRATIONP5_$env:USERNAME\Bookmarks_ch" -Force
            }
            
            # Si le fichier Bookmarks (Edge) n'existe pas => Tu me l'écris mais si ça existe tu le copie colle dans le disque espace personnel stockage dans le réseau
            
            if (!(Test-Path -Path "$env:localappdata\Microsoft\Edge\User Data\Default\Bookmarks")) {
              Write-Output "Microsoft Edge favoris n'existe pas "
            } else {
              Copy-Item "$env:localappdata\Microsoft\Edge\User Data\Default\Bookmarks" "\\adds01\personnel\$env:USERNAME\MIGRATIONP5_$env:USERNAME\Bookmarks_ms" -Force
            }
            
            # S'il n'y a pas de signatures Outlook => Tu me l'écris mais si ça existe tu le copie colle dans le disque espace personnel stockage dans le réseau
            
            if (!(Test-Path -Path "$env:appdata\Microsoft\Signatures" -PathType Container)) {
              Write-Output "Signatures Outlook n'existe pas"
            } else {
              Copy-Item "$env:appdata\Microsoft\Signatures" "\\adds01\personnel\$env:USERNAME\MIGRATIONP5_$env:USERNAME\" -Recurse -Force
            }
            
            # Export imprimantes (copie la liste d'imprimante sur l'ancien PC puis la colle dans le disque espace personnel stockage dans le réseau)
            
            get-printer "\\imprimant.share.loc\*" | Select-Object Name | Export-Csv -Path "\\adds01\personnel\$env:USERNAME\MIGRATIONP5_$env:USERNAME\ecoleprinters.csv" -NoTypeInformation

            
          

import_nouveauPC.ps1:

 
            # Script (à executer sur le nouveau PC) pour importer les:
            # signatures Outlook, les imprimantes, les favoris Chrome/Edge... 
            # sur le disque de nouveau PC!

            $username23 = "$env:USERDOMAIN\$env:USERNAME"
            $date23 = Get-Date -Format "dd/MM/yyyy à HH:mm:ss"
            $log23 = "$username23 a executé le script: import_nouveauPC.bat le $date23"
            Add-Content -Path "\\adds01\LOGI\ap_script\ap_script_logs\import_nouveauPC.log" -Value $log23
            
            # Import Favoris => Chrome
            
            Copy-Item "\\adds01\personnel\$env:USERNAME\MIGRATIONP5_$env:USERNAME\Bookmarks_ch" "$env:localappdata\Google\Chrome\User Data\Default\Bookmarks" -Force
            
            #Import Favoris => Edge
            
            Copy-Item "\\adds01\personnel\$env:USERNAME\MIGRATIONP5_$env:USERNAME\Bookmarks_ms" "$env:localappdata\Microsoft\Edge\User Data\Default\Bookmarks" -Force
            
            #Import Signatures Outlook
            
            if (!(Test-Path -Path "$env:appdata\Microsoft\Signatures" -PathType Container)) {
              New-Item -Type Directory "$env:appdata\Microsoft\Signatures"
                Copy-Item "\\adds01\personnel\$env:USERNAME\MIGRATIONP5_$env:USERNAME\Signatures\*" "$env:appdata\Microsoft\Signatures" -Force
            
            } else {
                Copy-Item "\\adds01\personnel\$env:USERNAME\MIGRATIONP5_$env:USERNAME\Signatures\*" "$env:appdata\Microsoft\Signatures" -Force
            }
            
            #Import imprimantes sur le nouveau PC
            
            $Printers = Import-Csv -Path "\\adds01\personnel\$env:USERNAME\MIGRATIONP5_$env:USERNAME\ecoleprinters.csv"
            foreach ($Printer in $Printers)
            {
                $PrinterName = $Printer.Name
                if (Get-Printer -Name $PrinterName 2>$null)
                {
                    Write-Host "L'imprimante $PrinterName est deja installe!"
                } else {
                    Add-Printer -ConnectionName $PrinterName
            
                }
            }