Script – Deploiement Config Agent NSCP (Nagios)

par | Nov 5, 2015 | Supervision (SCOM, NAGIOS) | 0 commentaires

 

Le script ci-dessous propose d’automatiser le déploiement du fichier de config de l’agent nscp (nsclient.ini) et de fichier de scripts/commandes associés.

Lien du script plus bas.

### SCRIPT DE DEPLOIEMENT DES SCRIPTS/ FICHIERS NSC VERS AGENT NSCP # Chemin du fichier du/des scripts a uploader vers le répertoire scripts de l’agent nsclient $SourceScript=« D:\TEMP\SCRIPTS_TO_SEND\MyScript.ps1«  # Chemin du fichier NSC Mis a jour, a transferer $SourceInifile=« D:\TEMP\CONFIG_TO_SEND\nsclient.ini«  #Chemin du repertoire et du sous repertoire Scripts de l’agent Nsclient $NSCProgPath=« c$\Program Files\NSClient++«  $NSCScriptsPath=« c$\Program Files\NSClient++\Scripts«  #Chemin du log $logdate=getdate Format ddMMyyyyHHmm $log=« D:\TEMP\log_$logdate.txt«  #Fonction de backup du fichier nsclient.ini Function backupnscfile ($computer) { Try { copyitem « \\$computer\$NSCProgPath\nsclient.ini«  Destination « \\$computer\$NSCProgPath\nsclient.ini.bak«  ErrorAction Continue } Catch { writehost BackgroundColor White ForegroundColor red « Erreur lors de la sauvegarde du fichier nsclient.ini sur $computer«  « Erreur lors de la sauvegarde du fichier nsclient.ini sur $computer«  | Out-File $log Append } } #Fonction de copie du nouveau fichier nsclient Function copynscfile ($computer) { Try { copyitem $SourceInifile Destination « \\$computer\$NSCProgPath\«  Force ErrorAction Continue } Catch { writehost BackgroundColor White ForegroundColor red « Erreur lors de la copie du nouveau fichier nsclient.ini sur $computer«  « Erreur lors de la copie du nouveau fichier nsclient.ini sur $computer«  | Out-File $log Append } } #Fonction de copie du/des scripts Function copyscript ($computer) { Try { copyitem $SourceScript Destination « \\$computer\$NSCScriptsPath\«  Force ErrorAction Continue } Catch { writehost BackgroundColor White ForegroundColor red « Erreur lors de la copie du script sur $computer«  « Erreur lors de la copie du script sur $computer«  | Out-File $log Append } } #Liste de machines cibles $computers=@(« SERVER1« ;« SERVER2« ;« SERVER3« ;« SERVER4« ;« SERVER5« ) # Affichage du fichier nsc foreach ($computer in $computers) { #Horodatage $datetime=getdate « $datetime – $computer :«  | Out-File $log Append writehost BackgroundColor White ForegroundColor Blue « $computer :«  ; if (!(GetChildItem Path « \\$computer\$NSCProgPath\«  ErrorAction SilentlyContinue | WhereObject {$_.Name -eq « nsclient.ini« })) { WriteHost BackgroundColor White ForegroundColor Red « Le chemin vers le fichier de config nsclient.ini n’a pas été trouvé sur $computer«  « Le chemin vers le fichier de config nsclient.ini n’a pas été trouvé sur $computer«  | Out-File $log Append } Else { writehost BackgroundColor White ForegroundColor Blue « copie du fichier de script …«  copyscript computer $computer writehost BackgroundColor White ForegroundColor Blue « backup et remplacement du fichier nsclient.ini…«  backupnscfile computer $computer copynscfile computer $computer writehost BackgroundColor White ForegroundColor Blue « Redemarrage du service nscp…«  GetService Name nscp ComputerName $computer | RestartService } }

 

0 commentaires

Soumettre un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *