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