From 058108fbc93ba4082333ce10afbd8ee7a3ed5771 Mon Sep 17 00:00:00 2001 From: Nicolas Lang Date: Sat, 16 Dec 2023 12:16:22 +0100 Subject: [PATCH] =?UTF-8?q?Cr=C3=A9ation=20fichier?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Office/office_version.ps1 | 50 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 Office/office_version.ps1 diff --git a/Office/office_version.ps1 b/Office/office_version.ps1 new file mode 100644 index 0000000..1f75749 --- /dev/null +++ b/Office/office_version.ps1 @@ -0,0 +1,50 @@ +#Au lancement du script, nous vérifions si le fichier de log de l'exécution du script n'est pas encore présent. +if (-not (Test-Path "\\serveur\publicshare\office_version\office_version_$($env:computername).txt")) +{ + #S'il ne l'est pas, nous créons un fichier de log, qui est un transcript des informations de la console. + Start-Transcript "\\serveur\publicshare\office_version\office_version_$($env:computername).txt" -Force + try + { + try + { + Write-Output "Recherche de l'information de clé" + #Les informations sur le type d'installation d'office est dans le registre. La version 14.0 correspond à Office 2010. Si vous recherchez pour d'autres versions, vous n'avez qu'a remplacer cette valeur par une autre (voir la liste en fin d'article). Peu importe qu'Outlook soit installé ou non, cette clé est présente. + $bitness = (Get-ItemProperty -Path HKLM:\Software\Microsoft\Office\14.0\Outlook\ -ErrorAction stop).bitness + } + catch + { + #Dans le cas d'une installation x86 sur un Windows 64, les clés peuvent être présentes non pas dans Microsoft, mais dans la partie Wow6432 (Windows 32-bit on Windows 64-bit). Nous recherchons ici si aucune valeur n'est trouvé en premier lieu. + Write-Output "Aucune Valeur. Essai avec la clé dans Wow6432" + try + { + $bitness = (Get-ItemProperty -Path HKLM:\SOFTWARE\Wow6432Node\Microsoft\Office\14.0\Outlook\ -ErrorAction Stop).bitness + } + catch + { + Write-Output "Aucune valeur trouvée" + $bitness = "Aucune_Valeur" + } + } + #Les valeurs sont exportées dans un fichier CSV, pour pouvoir les consulter ensuite. + Write-Output "Export des données dans le fichier CSV" + "`"$($env:COMPUTERNAME)`";`"$bitness`"" | Out-File -filePath "\\serveur\publicshare\office_version\office_version.csv" -Append -Encoding utf8 -ErrorAction Stop -Force + } + catch + { + #Un petit peu de débuggage, si jamais un problème survient. + Write-Output "Erreur! Ligne $($error[0].InvocationInfo.ScriptLineNumber) : $($error[0].Exception.Message)" + (get-date).ToLongDateString() + " " + (get-date).ToLongTimeString() + " : $($env:computername) - Ligne $($error[0].InvocationInfo.ScriptLineNumber) : $($error[0].Exception.Message)" | out-file -FilePath "\\serveur\publicshare\office_version\office_version_error.txt" -Append -Encoding utf8 + Write-Output "Arret du transcript et modification du fichier" + Stop-Transcript + Move-Item "\\serveur\publicshare\office_version\office_version_$($env:computername).txt "\\serveur\publicshare\office_version\office_version_$($env:computername)_error.txt" + } + if ($onerror -eq $false) + { + Stop-Transcript + } +} +else +{ + Write-Output "Aucune action a effectuer, fichier présent : fin du transcript" + Stop-Transcript +} \ No newline at end of file