Question problème dans l’exécution du script
- ravel
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 1
- Remerciements reçus 0
il y a 14 ans 2 mois #10949
par ravel
problème dans l’exécution du script a été créé par ravel
Bonjour à tous,
Alors voilà mon problème :
le but étant de sauvegarder la configuration d'un switch HP dans un fichier .txt
la 2ème étape consiste à nommer le fichier en lui donnant comme nom : le nom du switch suivie de la date du jour
Il faut donc que je créer un script, qui va tout d'abord chercher la config du switch, puis le sauvegarde dans un fichier .txt et ensuite, qui renomme le fichier selon les conditions si-dessus.
Voila mon script :
[code:1]
Clear-History
$ip = \" \" #initialisation des variables
$log = \" \"
$mdp = \" \"
$ip = Read-Host \" Adresse du switch \"
$Credential = Get-Credential
$NetworkCredential = $Credential.GetNetworkCredential()
$log = $NetworkCredential.UserName #identification par mot de passe
$mdp = $NetworkCredential.Password
$shell = new-object -com WScript.Shell
$shell.AppActivate($app.ProcessID)
$shell.SendKeys(\"a\"«»)
$shell.SendKeys(\"$log\"«»)
$shell.SendKeys(\"{ENTER}\"«»)
$shell.SendKeys(\"$mdp\"«»)
$shell.SendKeys(\"{ENTER}\"«»)
$shell.SendKeys(\"copy startup-config tftp 10.63.2.7 configtemp.txt\"«») #copie de la configuration du switch dans le fichier configtemp.txt
$shell.SendKeys(\"{ENTER}\"«»)
function RecupNomSwitch
{
#récupération de la ligne ou le nom du switch apparait
$ch = select-string -Path \"C:\Program Files\Tftpd32\configtemp.txt\" -Pattern \"hostname\"
$prem =\"$ch\".IndexOf('\"')
$der = \"$ch\".LastIndexOf('\"')
$ch = \"$ch\".Substring(($prem+1), ($der-$prem-1))
#récupération de la date du jour
$date = get-date
$date_formatee = $date.tostring('yyyyMMdd')
#concaténation du nom du switch et de la date
$ch = $ch+'-V'+$date_formatee
$shell.SendKeys(\"copy startup-config tftp 10.63.2.7 $ch.txt\"«»)
$shell.SendKeys(\"{ENTER}\"«»)
}
#Tant que le fichier config.txt n'est pas créé alors le créer
while (test-path \"C:\Program Files\Tftpd32\configtemp.txt\" -ne true)
{
$shell.SendKeys(\"copy startup-config tftp 10.63.2.7 configtemp.txt\"«»)
$shell.SendKeys(\"{ENTER}\"«»)
}
#Si le fichier est créé, alors appel de la fonction RecupNomSwitch
if (test-path \"C:\Program Files\Tftpd32\configtemp.txt\" -eq true)
{
RecupNomSwitch
}
telnet $ip[/code:1]<br><br>Message édité par: Arnaud, à: 20/01/12 19:57
Alors voilà mon problème :
le but étant de sauvegarder la configuration d'un switch HP dans un fichier .txt
la 2ème étape consiste à nommer le fichier en lui donnant comme nom : le nom du switch suivie de la date du jour
Il faut donc que je créer un script, qui va tout d'abord chercher la config du switch, puis le sauvegarde dans un fichier .txt et ensuite, qui renomme le fichier selon les conditions si-dessus.
Voila mon script :
[code:1]
Clear-History
$ip = \" \" #initialisation des variables
$log = \" \"
$mdp = \" \"
$ip = Read-Host \" Adresse du switch \"
$Credential = Get-Credential
$NetworkCredential = $Credential.GetNetworkCredential()
$log = $NetworkCredential.UserName #identification par mot de passe
$mdp = $NetworkCredential.Password
$shell = new-object -com WScript.Shell
$shell.AppActivate($app.ProcessID)
$shell.SendKeys(\"a\"«»)
$shell.SendKeys(\"$log\"«»)
$shell.SendKeys(\"{ENTER}\"«»)
$shell.SendKeys(\"$mdp\"«»)
$shell.SendKeys(\"{ENTER}\"«»)
$shell.SendKeys(\"copy startup-config tftp 10.63.2.7 configtemp.txt\"«») #copie de la configuration du switch dans le fichier configtemp.txt
$shell.SendKeys(\"{ENTER}\"«»)
function RecupNomSwitch
{
#récupération de la ligne ou le nom du switch apparait
$ch = select-string -Path \"C:\Program Files\Tftpd32\configtemp.txt\" -Pattern \"hostname\"
$prem =\"$ch\".IndexOf('\"')
$der = \"$ch\".LastIndexOf('\"')
$ch = \"$ch\".Substring(($prem+1), ($der-$prem-1))
#récupération de la date du jour
$date = get-date
$date_formatee = $date.tostring('yyyyMMdd')
#concaténation du nom du switch et de la date
$ch = $ch+'-V'+$date_formatee
$shell.SendKeys(\"copy startup-config tftp 10.63.2.7 $ch.txt\"«»)
$shell.SendKeys(\"{ENTER}\"«»)
}
#Tant que le fichier config.txt n'est pas créé alors le créer
while (test-path \"C:\Program Files\Tftpd32\configtemp.txt\" -ne true)
{
$shell.SendKeys(\"copy startup-config tftp 10.63.2.7 configtemp.txt\"«»)
$shell.SendKeys(\"{ENTER}\"«»)
}
#Si le fichier est créé, alors appel de la fonction RecupNomSwitch
if (test-path \"C:\Program Files\Tftpd32\configtemp.txt\" -eq true)
{
RecupNomSwitch
}
telnet $ip[/code:1]<br><br>Message édité par: Arnaud, à: 20/01/12 19:57
Connexion ou Créer un compte pour participer à la conversation.
- Arnaud Petitjean
-
- Hors Ligne
- Modérateur
-
il y a 14 ans 2 mois #10999
par Arnaud Petitjean
MVP PowerShell et créateur de ce magnifique forum
Auteur de 6 livres PowerShell aux éditions ENI
Fondateur de la société Start-Scripting
Besoin d'une formation PowerShell ?
Réponse de Arnaud Petitjean sur le sujet Re:problème dans l’exécution du script
Salut !
Pour pouvoir t'aider au mieux il faut y aller etape par etape. Arriver a faire marcher des choses simples, puis complifier. Pas vouloir tout faire d'un seul coup et passer des heures a deboguer quelque chose dont on est pas sur de reussir a faire marcher.
Donc, est-ce que ta fonction arrive a dumper la configuration de ton switch ?
Arnaud
Pour pouvoir t'aider au mieux il faut y aller etape par etape. Arriver a faire marcher des choses simples, puis complifier. Pas vouloir tout faire d'un seul coup et passer des heures a deboguer quelque chose dont on est pas sur de reussir a faire marcher.
Donc, est-ce que ta fonction arrive a dumper la configuration de ton switch ?
Arnaud
MVP PowerShell et créateur de ce magnifique forum
Auteur de 6 livres PowerShell aux éditions ENI
Fondateur de la société Start-Scripting
Besoin d'une formation PowerShell ?
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.049 secondes
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les initiés
- problème dans l’exécution du script