Question Export DHCP mutualisé

Plus d'informations
il y a 14 ans 3 mois #11144 par LEON
Export DHCP mutualisé a été créé par LEON
Bonjour à tous,

Je suis confronté à un petit problème, et j'aurais besoin de votre expertise. Voilà mon script:

[code:1]
$ServeurDHCP = @(\"OSEF-ADS-DC01\"«»)
Foreach ($Serveur in $ServeurDHCP)
{

$s = New-PSSession -ComputerName $Serveur
#On prend que le 3LC
$3LC=$Serveur.Substring(0,3)
#Nom du fichier
$ExportName=\"C:\TEMP\dhcp_\" + \"$3LC.txt\"

$ScriptBlock = {
Set-Location C:\TEMP
Netsh dhcp server export $ExportName all
xcopy $ExportName \"\\monserveur\backup_dhcp /y\"
}

Invoke-Command -Session $s -ScriptBlock $ScriptBlock
Remove-PSSession $s

}
[/code:1]

Donc en résumé:

1- Je définis ma liset de serveur
2- Puis pour chaque serveur, j'ouvre une session PSremote afin d'executer un export du serveur DHCP, puis je copie le fihier généré sur le réseau.
3- Je ferme la remote session.

Le soucis vient du faite que dans le scriptblock de l'invoke-command, la variable $ExportName ne fonctionne pas.

Avez vous une idée? Merci d'avance

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

Plus d'informations
il y a 14 ans 3 mois #11145 par Richard Lazaro
Réponse de Richard Lazaro sur le sujet Re:Export DHCP mutualisé
Bonjour,

Enfait, c'est normal. Quand tu vas appeler ton Scriptbloc via le InvokeCommand. Ceci va être exécuté à distance et donc il va perdre la référence à ta variable.

Pour cela tu dois la passer en paramètre :

[code:1]
$ServeurDHCP = @(\"OSEF-ADS-DC01\"«»)
Foreach ($Serveur in $ServeurDHCP)
{
$s = New-PSSession -ComputerName $Serveur
#On prend que le 3LC
$3LC=$Serveur.Substring(0,3)
#Nom du fichier
$ExportName=\"C:\TEMP\dhcp_\" + \"$3LC.txt\"

$ScriptBlock = {
Param($ExportName)
Set-Location C:\TEMP
Netsh dhcp server export $ExportName all
xcopy $ExportName \"\\monserveur\backup_dhcp /y\"
}

Invoke-Command -Session $s -ScriptBlock $ScriptBlock -ArgumentList $ExportName
Remove-PSSession $s
}
[/code:1]


Bien Cordialement,
Richard Lazaro.

Think-MS : (Get-Life).Days | %{ Learn-More }

\\"Problems cannot be solved by the same level of thinking that created them.\\" - Albert Einstein

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

Plus d'informations
il y a 14 ans 3 mois #11146 par LEON
Réponse de LEON sur le sujet Re:Export DHCP mutualisé
Je viens d'avancer:

[code:1]
$ServeurDHCP = @(\"OSEF-INFR-DC01,OSEF2-ADS-DC01\"«»)
Foreach ($Serveur in $ServeurDHCP)
{

$s = New-PSSession -ComputerName $Serveur
#On prend que le 3LC
$3LC=$Serveur.Substring(0,3)
#Nom du fichier
$ExportName=\"C:\TEMP\dhcp_\" + \"$3LC.txt\"

$ScriptBlock = {
param ($Name)
Netsh dhcp server export $Name all
xcopy $Name \\Monserveur\Backup_dhcp /y
}

Invoke-Command -Session $s -ScriptBlock $ScriptBlock -ArgumentList $ExportName
#Close de la session
Remove-PSSession $s

}
[/code:1]

Maintenant ca fonctionne, mais quand je rajoute des serveurs dans le tableau en debut de script, ca déconne grrrr...

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

Plus d'informations
il y a 14 ans 3 mois #11147 par LEON
Réponse de LEON sur le sujet Re:Export DHCP mutualisé
Merci Richard, j'avais pas vu ton message. Sinon, tout fonctionne maintenant (ne pas faire comme moi, mettre les guillement correctement dans le tableau :p).
Donc si ce script peut servir à la communauté, have fun.

Personnellement, je dois gérer plus de 30 DHCP, donc ca va vraiment m'aider :p.

Merci encore

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

Plus d'informations
il y a 14 ans 3 mois #11148 par Richard Lazaro
Réponse de Richard Lazaro sur le sujet Re:Export DHCP mutualisé
Pour améliorer ton script, il n'est pas nécessaire de créer une session permanente (vu que tu l'as suppriemr aprés) :

[code:1]
$ServeurDHCP = @(\"OSEF-INFR-DC01\",\"OSEF2-ADS-DC01\"«»)
Foreach ($Serveur in $ServeurDHCP)
{
#On prend que le 3LC
$3LC=$Serveur.Substring(0,3)
#Nom du fichier
$ExportName=\"C:\TEMP\dhcp_\" + \"$3LC.txt\"

$ScriptBlock = {
param ($Name)
Netsh dhcp server export $Name all
xcopy $Name \\Monserveur\Backup_dhcp /y
}

Invoke-Command -ComputerName $Serveur -ScriptBlock $ScriptBlock -ArgumentList $ExportName
}
[/code:1]

Think-MS : (Get-Life).Days | %{ Learn-More }

\\"Problems cannot be solved by the same level of thinking that created them.\\" - Albert Einstein

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

Plus d'informations
il y a 14 ans 3 mois #11149 par LEON
Réponse de LEON sur le sujet Re:Export DHCP mutualisé
Ah ok merci pour l'info ;). Par contre, j'ai rencontré un dernier soucis vraiment étrange, j'explique:

Sur une de mes machines, j'ouvre PS, je tape cd \\monserveur\share, là ca fonctionne. Maintenant sur cette même machine, je fais un Enter-pssession localhost, puis je refais cd \\monserveur\share et là, PS me répond que le chemin n'éxiste pas ..... Et ca me fais ca juste sur une machine -_- ....
Avez vous une idée? Car là, je suis à sec.

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

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