Question problème dans l’exécution du script

Plus d'informations
il y a 14 ans 2 mois #10949 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

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 14 ans 2 mois #10999 par Arnaud Petitjean
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

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
Propulsé par Kunena