Question Changement @IP a distance

Plus d'informations
il y a 12 ans 2 mois #11131 par ocin
Changement @IP a distance a été créé par ocin
Bonjour a tous,

Je suis entrain de faire un script powershell qui fait pas mal de truc pour la préparation de serveur. Dans les différentes opérations que je fais, je fais un changement d'adresse comme ce ci:

[code:1]
Function ChangeAdrIP ($nom_machine,$user,$password,$oldip,$newip,$newmask)
{
$userdomaine=$nom_machine+\"\\"+$user
$Pass = ConvertTo-SecureString $password -AsPlainText -Force
$Credential = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList ($userdomaine,$Pass)

$var = $null
$var=Get-WmiObject -computer $nom_machine win32_networkadapterconfiguration -credential (get-credential $Credential) | `
where {$_.IPAddress -eq \"$oldip\"}
$var.EnableStatic(\"$newip\",\"$newmask\"«»)

}
[/code:1]

Le gros problème, et vous l'avez surement deviné, c'est que mon script, après l'appel de la fonction, ne me rends jamais la main puisqu'il y a perte de connection! Je dois chainer d'autre script apres le changement d'adresse mais je ne peux pas!

Je penses que c'est plus un problème de conception de mon script / chainage.

J'avais ca en tête:
- script 1 qui lance script 2
- script 2 qui change mon @IP
- pendant ce temps script 1 balance un ping et lorsque c'est ok continu .
Malheureusement le script 1 attend que script 2 ai fini ...

Es ce que vous avez un conseil a me donner ?
Es ce qu'il est possible de lancer une fonction et de continuer sans attendre que la fonction rende la main?

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

Plus d'informations
il y a 12 ans 2 mois #11138 par Arthur
Réponse de Arthur sur le sujet Re:Changement @IP a distance
\"Es ce qu'il est possible de lancer une fonction et de continuer sans attendre que la fonction rende la main? \" => Ça correspond à un job sous PS. ;)

[code:1]man about_jobs[/code:1]<br><br>Message édité par: bilbao, à: 14/02/12 16:40

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

Plus d'informations
il y a 12 ans 2 mois #11139 par ocin
Réponse de ocin sur le sujet Re:Changement @IP a distance
merci bien, je vais regarder ca ;)

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

Plus d'informations
il y a 12 ans 2 mois #11141 par Laurent Dardenne
Salut,
ocin écrit:

Le gros problème, et vous l'avez surement deviné, c'est que mon script, après l'appel de la fonction, ne me rends jamais la main puisqu'il y a perte de connection!

Peux-tu détailler ? Sans le script sous les yeux difficile de comprendre d'ou vient le pb.

Si tu perds la connection, en supposant que, de ton poste, tu utilises winrm sur un serveur distant ceci devrait déclencher une exception.

Tutoriels PowerShell

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

Plus d'informations
il y a 12 ans 2 mois #11153 par ocin
Réponse de ocin sur le sujet Re:Changement @IP a distance

Peux-tu détailler ? Sans le script sous les yeux difficile de comprendre d'ou vient le pb.


Je ne comprends pas, mon script est sur mon 1er post.

Pour info, j'ai essayé avec un job mais je n'ai pas de changement d'adresse sur mon poste distant (alors que sans job c'est ok).

Pour rappel, mon script:

[code:1]Function ChangeAdrIP ($nom_machine,$user,$password,$oldip,$newip,$newmask)
{
$userdomaine=$nom_machine+\&quot;\\&quot;+$user
$Pass = ConvertTo-SecureString $password -AsPlainText -Force
$Credential = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList ($userdomaine,$Pass)

$var = $null
$var=Get-WmiObject -computer $nom_machine win32_networkadapterconfiguration -credential (get-credential $Credential) | `
where {$_.IPAddress -eq \&quot;$oldip\&quot;}
$var.EnableStatic(\&quot;$newip\&quot;,\&quot;$newmask\&quot;«»)
}

start-job -scriptblock {ChangeAdrIP $machine $user $password $oldip $newip $newnetmask} [/code:1]

Je suis pas très loin du résultat mais je ne sais pas ou se situe mon erreur ... :(

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

Plus d'informations
il y a 12 ans 2 mois #11154 par Laurent Dardenne
ocin écrit:

Je ne comprends pas, mon script est sur mon 1er post.

Le premier oui. Ce que je ne comprends pas est ceci:
ocin écrit:

Malheureusement le script 1 attend que script 2 ai fini ...

Mais en recherchant sur le net,j'ai trouve ce post qui ressemble à ton pb. Voir aussi celui-ci .
Avant d'aller plus loin il faudrait savoir si le code appellé (wmi) renvoi un erreur après un timeout.
ocin écrit:

mais je ne sais pas ou se situe mon erreur ...

Le code de ta fonction doit être inséré dans le job.
Et à mon avis, je doute qu'ainsi tu résolves ton pb.

Tutoriels PowerShell

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

Temps de génération de la page : 0.089 secondes
Propulsé par Kunena