Question
Créer dossier via chemin UNC
- kiviste
- Auteur du sujet
- Hors Ligne
- Membre junior
-
Réduire
Plus d'informations
- Messages : 34
- Remerciements reçus 0
il y a 9 ans 7 mois #22486
par kiviste
Créer dossier via chemin UNC a été créé par kiviste
Bonjour,
Je n'arrive pas à créer un dossier via un chemin réseau en utilisant un job (start-job)
[code:1]
$ImportServeur = Import-Csv -Path \"W:\SAUVEGARDE\SAUVEGARDE_VHD\ListeServeurs.csv\" -Delimiter \";\"
ForEach ($Serveur in $ImportServeur)
{
$SERVEUR_HOTE = $Serveur.SERVEUR_HOTE
$SERVEUR_VIRT = $Serveur.SERVEUR_VIRT
$arguments = @($SERVEUR_HOTE,$SERVEUR_VIRT,$BackupFolder_Interne)
Start-Job -ArgumentList $arguments -ScriptBlock {
# Paramétrage des variables avec les arguments
$HOTEName = $args[0]
$VMName = $args[1]
$BackupFolder_Interne = $args[2]
$jour = Get-Date
# Paramétrage Dossier Interne
$BackupFolder_Interne = \"\\$HOTEName\Sauv_VHD\"
# Création du dossier de sauvegarde
New-Item -path $BackupFolder_Interne -name \"$VMName $(($jour).tostring('dd-MM-yyyy'))\" -type directory
}
}
Get-Job | Wait-Job
Get-Job | Receive-Job
# Suppression des jobs
Get-Job | Remove-Job -Force
[/code:1]
[code:1]Le chemin réseau n’a pas été trouvé.
+ CategoryInfo : WriteError: (\\SERVEUR-TEST\S...TEST 14-10-2016:«»String) [New-Item], IOException
+ FullyQualifiedErrorId : CreateDirectoryIOError,Microsoft.PowerShell.Commands.NewItemCommand
+ PSComputerName : localhost[/code:1]
pourtant si j’exécute ce même script sans start-job ça fonctionne et si je mets mon chemin unc en dur plutôt que de passer par une variable ça fonctionne aussi.
j'ai pas trouvé d'explication sur les messages déjà postés sur le forum.
Une idée ??
Merci<br><br>Message édité par: kiviste, à: 14/10/16 15:02
Je n'arrive pas à créer un dossier via un chemin réseau en utilisant un job (start-job)
[code:1]
$ImportServeur = Import-Csv -Path \"W:\SAUVEGARDE\SAUVEGARDE_VHD\ListeServeurs.csv\" -Delimiter \";\"
ForEach ($Serveur in $ImportServeur)
{
$SERVEUR_HOTE = $Serveur.SERVEUR_HOTE
$SERVEUR_VIRT = $Serveur.SERVEUR_VIRT
$arguments = @($SERVEUR_HOTE,$SERVEUR_VIRT,$BackupFolder_Interne)
Start-Job -ArgumentList $arguments -ScriptBlock {
# Paramétrage des variables avec les arguments
$HOTEName = $args[0]
$VMName = $args[1]
$BackupFolder_Interne = $args[2]
$jour = Get-Date
# Paramétrage Dossier Interne
$BackupFolder_Interne = \"\\$HOTEName\Sauv_VHD\"
# Création du dossier de sauvegarde
New-Item -path $BackupFolder_Interne -name \"$VMName $(($jour).tostring('dd-MM-yyyy'))\" -type directory
}
}
Get-Job | Wait-Job
Get-Job | Receive-Job
# Suppression des jobs
Get-Job | Remove-Job -Force
[/code:1]
[code:1]Le chemin réseau n’a pas été trouvé.
+ CategoryInfo : WriteError: (\\SERVEUR-TEST\S...TEST 14-10-2016:«»String) [New-Item], IOException
+ FullyQualifiedErrorId : CreateDirectoryIOError,Microsoft.PowerShell.Commands.NewItemCommand
+ PSComputerName : localhost[/code:1]
pourtant si j’exécute ce même script sans start-job ça fonctionne et si je mets mon chemin unc en dur plutôt que de passer par une variable ça fonctionne aussi.
j'ai pas trouvé d'explication sur les messages déjà postés sur le forum.
Une idée ??
Merci<br><br>Message édité par: kiviste, à: 14/10/16 15:02
Connexion ou Créer un compte pour participer à la conversation.
- Philippe
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 1778
- Remerciements reçus 21
il y a 9 ans 7 mois #22490
par Philippe
Réponse de Philippe sur le sujet Re:Créer dossier via chemin UNC
salut kiviste
par contre il te faut choisir entre c'est deux lignes pour la variable $BackupFolder_Interne :
[code:1] $BackupFolder_Interne = $args[2]
$BackupFolder_Interne = \"\\$HOTEName\Sauv_VHD\" [/code:1]ç'est peut être la source de ton problème !?
je pense que tu n'a qu'un problème de droit sur le dossier. un premier test rapide me montre qu'il n'y a pas de problème de fonctionnement du scriptLe chemin réseau n’a pas été trouvé.
+ CategoryInfo : WriteError: (\\SERVEUR-TEST\S...TEST 14-10-2016:String) [New-Item], IOException
+ FullyQualifiedErrorId : CreateDirectoryIOError,Microsoft.PowerShell.Commands.NewItemCommand
+ PSComputerName : localhost
par contre il te faut choisir entre c'est deux lignes pour la variable $BackupFolder_Interne :
[code:1] $BackupFolder_Interne = $args[2]
$BackupFolder_Interne = \"\\$HOTEName\Sauv_VHD\" [/code:1]ç'est peut être la source de ton problème !?
Connexion ou Créer un compte pour participer à la conversation.
- kiviste
- Auteur du sujet
- Hors Ligne
- Membre junior
-
Réduire
Plus d'informations
- Messages : 34
- Remerciements reçus 0
il y a 9 ans 7 mois #22491
par kiviste
Réponse de kiviste sur le sujet Re:Créer dossier via chemin UNC
mais si je fais
[code:1]
$tutu= \"\\$HOTEName\Sauv_VHD\"
$jour = Get-Date
New-Item -path $tutu -name \"$VMName $(($jour).tostring('dd-MM-yyyy'))\" -Force -type directory
[/code:1]
[code:1]Le chemin d'accès n'a pas une forme conforme.
+ CategoryInfo : InvalidArgument : (\\Serveur-Test\Sauv_VHD:«»String) [New-Item], ArgumentException
+ FullyQualifiedErrorId : CreateDirectoryArgumentError,Microsoft.PowerShell.Commands.NewItemCommand
+ PSComputerName : localhost[/code:1]
par contre si je met
[code:1]
$tutu= \"\\serveur-test\Sauv_VHD\"
$jour = Get-Date
New-Item -path $tutu -name \"$VMName $(($jour).tostring('dd-MM-yyyy'))\" -Force -type directory
[/code:1]
la il est content..grrr
c'est quoi le problème avec la variable $HOTEName alors qu'il arrive bien à la lire...<br><br>Message édité par: kiviste, à: 17/10/16 17:23
[code:1]
$tutu= \"\\$HOTEName\Sauv_VHD\"
$jour = Get-Date
New-Item -path $tutu -name \"$VMName $(($jour).tostring('dd-MM-yyyy'))\" -Force -type directory
[/code:1]
[code:1]Le chemin d'accès n'a pas une forme conforme.
+ CategoryInfo : InvalidArgument : (\\Serveur-Test\Sauv_VHD:«»String) [New-Item], ArgumentException
+ FullyQualifiedErrorId : CreateDirectoryArgumentError,Microsoft.PowerShell.Commands.NewItemCommand
+ PSComputerName : localhost[/code:1]
par contre si je met
[code:1]
$tutu= \"\\serveur-test\Sauv_VHD\"
$jour = Get-Date
New-Item -path $tutu -name \"$VMName $(($jour).tostring('dd-MM-yyyy'))\" -Force -type directory
[/code:1]
la il est content..grrr
c'est quoi le problème avec la variable $HOTEName alors qu'il arrive bien à la lire...<br><br>Message édité par: kiviste, à: 17/10/16 17:23
Connexion ou Créer un compte pour participer à la conversation.
- kiviste
- Auteur du sujet
- Hors Ligne
- Membre junior
-
Réduire
Plus d'informations
- Messages : 34
- Remerciements reçus 0
il y a 9 ans 7 mois #22492
par kiviste
Réponse de kiviste sur le sujet Re:Créer dossier via chemin UNC
mais si je fais
[code:1]
$tutu= \"\\$HOTEName\Sauv_VHD\"
$jour = Get-Date
New-Item -path $tutu -name \"$VMName $(($jour).tostring('dd-MM-yyyy'))\" -Force -type directory
[/code:1]
[code:1]Le chemin d'accès n'a pas une forme conforme.
+ CategoryInfo : InvalidArgument : (\\Serveur-Test\Sauv_VHD:«»String) [New-Item], ArgumentException
+ FullyQualifiedErrorId : CreateDirectoryArgumentError,Microsoft.PowerShell.Commands.NewItemCommand
+ PSComputerName : localhost[/code:1]
par contre si je met
[code:1]
$tutu= \"\\serveur-test\Sauv_VHD\"
$jour = Get-Date
New-Item -path $tutu -name \"$VMName $(($jour).tostring('dd-MM-yyyy'))\" -Force -type directory
[/code:1]
la il est content..grrr
c'est quoi le problème avec la variable $HOTEName alors qu'il arrive bien à la lire...<br><br>Message édité par: kiviste, à: 17/10/16 17:22
[code:1]
$tutu= \"\\$HOTEName\Sauv_VHD\"
$jour = Get-Date
New-Item -path $tutu -name \"$VMName $(($jour).tostring('dd-MM-yyyy'))\" -Force -type directory
[/code:1]
[code:1]Le chemin d'accès n'a pas une forme conforme.
+ CategoryInfo : InvalidArgument : (\\Serveur-Test\Sauv_VHD:«»String) [New-Item], ArgumentException
+ FullyQualifiedErrorId : CreateDirectoryArgumentError,Microsoft.PowerShell.Commands.NewItemCommand
+ PSComputerName : localhost[/code:1]
par contre si je met
[code:1]
$tutu= \"\\serveur-test\Sauv_VHD\"
$jour = Get-Date
New-Item -path $tutu -name \"$VMName $(($jour).tostring('dd-MM-yyyy'))\" -Force -type directory
[/code:1]
la il est content..grrr
c'est quoi le problème avec la variable $HOTEName alors qu'il arrive bien à la lire...<br><br>Message édité par: kiviste, à: 17/10/16 17:22
Connexion ou Créer un compte pour participer à la conversation.
- Philippe
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 1778
- Remerciements reçus 21
il y a 9 ans 7 mois #22494
par Philippe
Réponse de Philippe sur le sujet Re:Créer dossier via chemin UNC
peut tu faire affichage de $tutu
[code:1]write-host $tutu[/code:1]
si tu a bien \"\\serveur-test\Sauv_VHD\" est non \"\\serveur-test\Sauv_VHD: String\" car le string est en trop
peut tu donné le type des deux variables suivante quand ça ne fonctionne pas stp
tu peut faire de cette façon :
[code:1] $BackupFolder_Interne = \"\\$HOTEName\d$\VM\test1\"
$BackupFolder_Interne
$HOTEName.gettype()
$BackupFolder_Interne.gettype()
# Création du dossier de sauvegarde
New-Item -path $BackupFolder_Interne -name \"$VMName $(($jour).tostring('dd-MM-yyyy'))\" -type directory
[/code:1]
tu devrais avoir quelque chose comme ça :
[code:1]\\serveur-test\Sauv_VHD
IsPublic IsSerial Name BaseType
----
True True String System.Object
True True String System.Object
[/code:1]
[code:1]write-host $tutu[/code:1]
si tu a bien \"\\serveur-test\Sauv_VHD\" est non \"\\serveur-test\Sauv_VHD: String\" car le string est en trop
peut tu donné le type des deux variables suivante quand ça ne fonctionne pas stp
tu peut faire de cette façon :
[code:1] $BackupFolder_Interne = \"\\$HOTEName\d$\VM\test1\"
$BackupFolder_Interne
$HOTEName.gettype()
$BackupFolder_Interne.gettype()
# Création du dossier de sauvegarde
New-Item -path $BackupFolder_Interne -name \"$VMName $(($jour).tostring('dd-MM-yyyy'))\" -type directory
[/code:1]
tu devrais avoir quelque chose comme ça :
[code:1]\\serveur-test\Sauv_VHD
IsPublic IsSerial Name BaseType
----
True True String System.Object
True True String System.Object
[/code:1]
Connexion ou Créer un compte pour participer à la conversation.
- kiviste
- Auteur du sujet
- Hors Ligne
- Membre junior
-
Réduire
Plus d'informations
- Messages : 34
- Remerciements reçus 0
il y a 9 ans 7 mois #22495
par kiviste
Réponse de kiviste sur le sujet Re:Créer dossier via chemin UNC
Humm si je fais
Write-Host $tutu
Write-Host $tutu.gettype()
il me donne
\\serveur-test\Sauv_VHD
System.String
Write-Host $tutu
Write-Host $tutu.gettype()
il me donne
\\serveur-test\Sauv_VHD
System.String
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.050 secondes
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- Créer dossier via chemin UNC