Tampon ISEFAC



BTS SIOServices Informatiques aux Organisations-63518097500OptionSISRSession2015FLEURY-COLLET EtienneActivité professionnelle N°3NATURE DE L'ACTIVITEScript Powershell pour déploiement de Python 2.6.7Contexte Au sein de mon entreprise, le service informatique est dans le besoin de déployer à distance la version 2.6.7 de Python pour les différents outils internes de graphismeObjectifs Créer un script pour installer silencieusement à distance sur la machine souhaité Python 2.6.7Lieu?de réalisationStudio 100 AnimationSOLUTIONS ENVISAGEABLESDisposant de quelques modèles sur Powershell pour les commandes d’Active Directory je peux utiliser ceux-ci pour faire mon propre script.DESCRIPTION DE LA SOLUTION RETENUEConditions initialesRéalisation du script sur Powershell ISE et phases de testConditions finalesInstallation silencieuse de PythonOutils utilisés Powershell ISE / InternetCONDITIONS DE REALISATIONMatériels Ma station de travailRessources internesLogiciels Powershell ISEMozilla FirefoxDurée1 JoursContraintes Réalisation dans un domaine Active PETENCES MISES EN OEUVRE POUR CETTE ACTIVITE PROFESSIONNELLE Code de la compétenceIntitulé de la compétence (Fiche A3)DEROULEMENT DE L'ACTIVITELe script se décompose en 3 parties?:Le authentication moduleLe launcherLe c?ur du scriptL’authentication Module?:Celui-ci sert à récupérer les credentials ainsi qu’à les stocker pour l’exécution de la suite du script, il se compose ainsi?:#Recuperation du chemin d'éxecution du script pour les relatives path$pathAuth = Split-Path $script:MyInvocation.MyCommand.Path#Recuperation du nom d'hote$hostname = hostname#Teste si les credentials sont deja enregistrésif ( !(Test-Path $pathAuth\creds\$hostname) ){ #Test du if ( !(Test-Connection DC401.studio100.grp -Quiet -Count 3) ) { Write-Host "Pas de connexion vers le DC pour la validation du compte" -foregroundcolor "red" } try { #Appeler la fenetre de login $Credential = Get-Credential $null #Charger la librairie AD Import-Module activedirectory #Connexion au serveur AD Get-ADComputer dc401 -Credential $Credential | Out-Null #Recuperation du login $login = ($credential.UserName).Replace("\","_") #Cryptage du mot de passe et ecriture dans le fichier login New-Item -ItemType File -Force -Path "$pathAuth\creds\$hostname\$login.txt" | Out-Null $credential.Password | ConvertFrom-SecureString | Set-Content $pathAuth\creds\$hostname\$login.txt } catch { write-host $_.Exception.Message -foregroundcolor "red" Write-Host "Appuyez sur une touche pour terminer le programme ..." $x = $host.UI.RawUI.ReadKey("NoEcho,IncludeKeyDown") exit } }#Recuperation du login via le nom du fichier txt$login = ((gci $pathAuth\creds\\$hostname).BaseName).Replace("_","\")#Recuperation du mot de passe crypté depuis le fichier$password = (gci $pathAuth\creds\$hostname).Name$password = Get-Content "$pathAuth\creds\$hostname\$password" | ConvertTo-SecureString$credentials = New-Object system.Management.Automation.PSCredential -ArgumentList $login,$password Le Launcher?:Celui-ci va servir d’amorce pour exécuter le c?ur du script à distance, on y retrouve entre autre le path vers le c?ur du script$scriptpath = $MyInvocation.MyCommand.Path$path = Split-Path $scriptpath. \\storman05\Animation\IT\03-Outils\06-Scripts\auto_login\authentification_module.ps1Set-Location $pathStart-Process -FilePath powershell.exe -Credential $Credentials -ArgumentList ".\Install_Python.ps1""done" C?ur du script$computer = Read-Host "Entrer l'ip ou le nom de la machine ""on ping tamer"if ( !(Test-Connection $computer -Quiet -Count 2) ){ "Pas de réponse de $computer" cmd /c pause exit}$install = { "`nInstallation de Python en cours" msiexec /i "C:\python-2.7.8.amd64.msi" TARGETDIR=c:\Python27 ALLUSERS=1 ADDLOCAL=ALL /quiet /qn "Installing done" Remove-Item "C:\python-2.7.8.amd64.msi" -Force }#Début du script#$credentials = Get-Credential $nullif ( $s = New-PSSession -ComputerName $computer -ErrorAction SilentlyContinue )#-Credential $credentials{ try { "`nCopie de l'installeur " Copy-Item \\studio100.grp\animation\IT\03-Outils\04-Deploiement\python27\python-2.7.8.amd64.msi -Destination "\\$computer\C$\" "`nExecution de l'installeur " invoke-command -Session $s -scriptblock $install -ArgumentList $computer "`nCopie des site-packages " Copy-Item \\storman05\animation\Projects\_RD\_RD\studio100Paris\commons\softwaresLauncher\Python27\Lib\site-packages\ -Destination "\\$computer\C$\Python27\Lib\" -Force -Recurse add-content \\storman05\animation\IT\03-Outils\06-Scripts\Installation_Python\OKTAMER.txt "-------------$computer-------------" } catch { write-host $_.Exception.Message -foregroundcolor "red" Write-Host "Appuyez sur une touche pour terminer le programme..." $x = $host.UI.RawUI.ReadKey("NoEcho,IncludeKeyDown") exit }}cmd /c pause CONCLUSIONLe script marche parfaitement et permet d’installer à distance Python et ses dépendances en saisissant simplement un nom d’h?te et des credentials valides. ................
................

In order to avoid copyright disputes, this page is only a partial summary.

Google Online Preview   Download

To fulfill the demand for quickly locating and searching documents.

It is intelligent file search solution for home and business.

Literature Lottery

Related searches