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=get–date –Format ddMMyyyy—HHmm $log=« D:\TEMP\log_$logdate.txt«  #Fonction de backup du fichier nsclient.ini Function backup–nscfile ($computer) { Try { copy–item « \\$computer\$NSCProgPath\nsclient.ini«  –Destination « \\$computer\$NSCProgPath\nsclient.ini.bak«  –ErrorAction Continue } Catch { write–host –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 copy–nscfile ($computer) { Try { copy–item $SourceInifile –Destination « \\$computer\$NSCProgPath\«  –Force –ErrorAction Continue } Catch { write–host –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 copy–script ($computer) { Try { copy–item $SourceScript –Destination « \\$computer\$NSCScriptsPath\«  –Force –ErrorAction Continue } Catch { write–host –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=get–date « $datetime – $computer :«  | Out-File $log –Append write–host –BackgroundColor White –ForegroundColor Blue « $computer :«  ; if (!(Get–ChildItem –Path « \\$computer\$NSCProgPath\«  –ErrorAction SilentlyContinue | Where–Object {$_.Name -eq « nsclient.ini« })) { Write–Host –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 { write–host –BackgroundColor White –ForegroundColor Blue « copie du fichier de script …«  copy–script –computer $computer write–host –BackgroundColor White –ForegroundColor Blue « backup et remplacement du fichier nsclient.ini…«  backup–nscfile –computer $computer copy–nscfile –computer $computer write–host –BackgroundColor White –ForegroundColor Blue « Redemarrage du service nscp…«  Get–Service –Name nscp –ComputerName $computer | Restart–Service } }

 

0 commentaires

Soumettre un commentaire

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