Question DSC ressource file
- Madrolle
- Auteur du sujet
- Hors Ligne
- Membre senior
Réduire
Plus d'informations
- Messages : 47
- Remerciements reçus 0
il y a 7 ans 1 jour #23400
par Madrolle
ShellDealer sur Twitter
DSC ressource file a été créé par Madrolle
Bonjour à tous,
Voici une petite configuration de test qui marche presque très bien.
L'objet est de copier des fichiers sur des serveurs depuis un partage, traiter les fichiers (ici une installation), puis les supprimer.
Mais, impossible de d'avoir en MÊME temps \"[File]powershellFolderDEL\" et \"[File]powershellFolderDEL\" sensée se dérouler après le traitement avec un DependsOn !!
Quelqu'un sait-il comment faire ?
Faut-il utiliser une ressource \"Script\" de suppression ?
Peut être dois-je mettre simplement dans le cas de l'installation une ressource package avec une chemin distant ?
J'essayerais demain, mais pour d'autres traitements ?
Merci d'avance.
[code:1]
$ConfigData = @{
AllNodes = @(
@{
NodeName = \"dhcp0\"
Role = \"powershell\"
},
@{
NodeName = \"infra0\"
Role = \"SQLServer\"
}
)
}
Configuration dsc_CopyDSCResource {
param (
[Parameter(Mandatory=$true)]
[String]$SourcePath,
[Parameter(Mandatory=$false)]
[String]$ModulePath = \"C:\Windows\Temp\"
)
Import-DscResource –ModuleName PSDesiredStateConfiguration
Node $ConfigData.AllNodes.Where{$_.Role -eq \"powershell\"}.NodeName {
File \"powershellFolder\" {
Ensure = \"Present\"
SourcePath = \"$SourcePath\Powershell\"
Type = \"Directory\"
Recurse = $true
DestinationPath = \"$ModulePath\Powershell\"
Checksum = \"ModifiedDate\"
}
#Actions diverses (installation, etc.)
#Package [String] #ResourceName
#{
#Name = [string]
#Path = [string]
#ProductId = [string]
#}
File \"powershellFolderDEL\" {
Ensure = \"Absent\"
DependsOn = \"[File]powershellFolder\"
Type = \"Directory\"
Force = $true
DestinationPath = \"$ModulePath\Powershell\"
}
}
Node $ConfigData.AllNodes.Where{$_.Role -eq \"SQLserver\"}.NodeName {
File \"SQLserverFolder\" {
Ensure = \"Present\"
SourcePath = \"$SourcePath\Docs\"
Type = \"Directory\"
Recurse = $true
DestinationPath = \"$ModulePath\Docs\"
Checksum = \"ModifiedDate\"
}
}
}
dsc_CopyDSCResource -SourcePath \"\\deploy0\File\\"
Start-DscConfiguration -Path .\dsc_CopyDSCResource -Verbose -force -Wait
Remove-Item -Path .\dsc_* -Force -Confirm:$false -Recurse
[/code:1]
Message édité par: Perso, à: 27/03/17 19:45
Message édité par: Perso, à: 27/03/17 19:45
Message édité par: Perso, à: 27/03/17 20:21<br><br>Message édité par: Perso, à: 27/03/17 20:21
Voici une petite configuration de test qui marche presque très bien.
L'objet est de copier des fichiers sur des serveurs depuis un partage, traiter les fichiers (ici une installation), puis les supprimer.
Mais, impossible de d'avoir en MÊME temps \"[File]powershellFolderDEL\" et \"[File]powershellFolderDEL\" sensée se dérouler après le traitement avec un DependsOn !!
Quelqu'un sait-il comment faire ?
Faut-il utiliser une ressource \"Script\" de suppression ?
Peut être dois-je mettre simplement dans le cas de l'installation une ressource package avec une chemin distant ?
J'essayerais demain, mais pour d'autres traitements ?
Merci d'avance.
[code:1]
$ConfigData = @{
AllNodes = @(
@{
NodeName = \"dhcp0\"
Role = \"powershell\"
},
@{
NodeName = \"infra0\"
Role = \"SQLServer\"
}
)
}
Configuration dsc_CopyDSCResource {
param (
[Parameter(Mandatory=$true)]
[String]$SourcePath,
[Parameter(Mandatory=$false)]
[String]$ModulePath = \"C:\Windows\Temp\"
)
Import-DscResource –ModuleName PSDesiredStateConfiguration
Node $ConfigData.AllNodes.Where{$_.Role -eq \"powershell\"}.NodeName {
File \"powershellFolder\" {
Ensure = \"Present\"
SourcePath = \"$SourcePath\Powershell\"
Type = \"Directory\"
Recurse = $true
DestinationPath = \"$ModulePath\Powershell\"
Checksum = \"ModifiedDate\"
}
#Actions diverses (installation, etc.)
#Package [String] #ResourceName
#{
#Name = [string]
#Path = [string]
#ProductId = [string]
#}
File \"powershellFolderDEL\" {
Ensure = \"Absent\"
DependsOn = \"[File]powershellFolder\"
Type = \"Directory\"
Force = $true
DestinationPath = \"$ModulePath\Powershell\"
}
}
Node $ConfigData.AllNodes.Where{$_.Role -eq \"SQLserver\"}.NodeName {
File \"SQLserverFolder\" {
Ensure = \"Present\"
SourcePath = \"$SourcePath\Docs\"
Type = \"Directory\"
Recurse = $true
DestinationPath = \"$ModulePath\Docs\"
Checksum = \"ModifiedDate\"
}
}
}
dsc_CopyDSCResource -SourcePath \"\\deploy0\File\\"
Start-DscConfiguration -Path .\dsc_CopyDSCResource -Verbose -force -Wait
Remove-Item -Path .\dsc_* -Force -Confirm:$false -Recurse
[/code:1]
Message édité par: Perso, à: 27/03/17 19:45
Message édité par: Perso, à: 27/03/17 19:45
Message édité par: Perso, à: 27/03/17 20:21<br><br>Message édité par: Perso, à: 27/03/17 20:21
ShellDealer sur Twitter
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.059 secondes
- Vous êtes ici :
- Accueil
- forum
- PowerShell
- Entraide pour les initiés
- DSC ressource file