Question
Export DHCP mutualisé
- LEON
- Auteur du sujet
- Hors Ligne
- Membre senior
-
Réduire
Plus d'informations
- Messages : 69
- Remerciements reçus 0
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
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.
- Richard Lazaro
- Hors Ligne
- Membre platinium
-
Réduire
Plus d'informations
- Messages : 530
- Remerciements reçus 0
il y a 14 ans 3 mois #11145
par Richard Lazaro
Think-MS : (Get-Life).Days | %{ Learn-More }
\\"Problems cannot be solved by the same level of thinking that created them.\\" - Albert Einstein
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.
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.
- LEON
- Auteur du sujet
- Hors Ligne
- Membre senior
-
Réduire
Plus d'informations
- Messages : 69
- Remerciements reçus 0
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...
[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.
- LEON
- Auteur du sujet
- Hors Ligne
- Membre senior
-
Réduire
Plus d'informations
- Messages : 69
- Remerciements reçus 0
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
).
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
.
Merci encore
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
Merci encore
Connexion ou Créer un compte pour participer à la conversation.
- Richard Lazaro
- Hors Ligne
- Membre platinium
-
Réduire
Plus d'informations
- Messages : 530
- Remerciements reçus 0
il y a 14 ans 3 mois #11148
par Richard Lazaro
Think-MS : (Get-Life).Days | %{ Learn-More }
\\"Problems cannot be solved by the same level of thinking that created them.\\" - Albert Einstein
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]
[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.
- LEON
- Auteur du sujet
- Hors Ligne
- Membre senior
-
Réduire
Plus d'informations
- Messages : 69
- Remerciements reçus 0
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.
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.047 secondes
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- Export DHCP mutualisé