Question
Accès refusé en script mais pas par l'explorateur
- boutou
- Auteur du sujet
- Hors Ligne
- Membre junior
-
Réduire
Plus d'informations
- Messages : 36
- Remerciements reçus 0
il y a 10 ans 8 mois #20723
par boutou
Accès refusé en script mais pas par l'explorateur a été créé par boutou
Bonsoir,
J'ai un soucis lorsque j'essaie de créer une archive globale pour 4 repertoires, j'ai un accès refusé lors de la création de l'archive. Je ne dispose pas de PS en V5, donc j'utilise la dll system.IO.Compression.filesystem.
Voilà le code, basique, certes mais qui plante !
[code:1]$source=\"c:\temp\*\"
$toarchive = get-childitem \"c:\temp\\" | where {$_.psiscontainer -eq \"true\"}
$archives=\"C:\archives\"
$date = get-date -format yyyy-MMMM-dd_hh-mm
foreach ($archive in $archives)
{
copy-item -path $source -destination $archives -ea silentlycontinue
$name = \"toto$date.zip\"
Add-Type -assembly \"system.io.compression.filesystem\"
[io.compression.zipfile]::CreateFromDirectory($name, $archives)
}
[/code:1]
Si une âme charitable passe dans les parrages...
Voilà l'erreur :
Exception calling \"CreateFromDirectory\" with \"2\" argument(s): \"L'accès au chemin d'accès 'C:\archives' est refusé.\"
At line:18 char:1
+ [io.compression.zipfile]::CreateFromDirectory($name, $archives)
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (
[], MethodInvocationException
+ FullyQualifiedErrorId : UnauthorizedAccessException<br><br>Message édité par: boutou, à: 21/09/15 20:12
J'ai un soucis lorsque j'essaie de créer une archive globale pour 4 repertoires, j'ai un accès refusé lors de la création de l'archive. Je ne dispose pas de PS en V5, donc j'utilise la dll system.IO.Compression.filesystem.
Voilà le code, basique, certes mais qui plante !
[code:1]$source=\"c:\temp\*\"
$toarchive = get-childitem \"c:\temp\\" | where {$_.psiscontainer -eq \"true\"}
$archives=\"C:\archives\"
$date = get-date -format yyyy-MMMM-dd_hh-mm
foreach ($archive in $archives)
{
copy-item -path $source -destination $archives -ea silentlycontinue
$name = \"toto$date.zip\"
Add-Type -assembly \"system.io.compression.filesystem\"
[io.compression.zipfile]::CreateFromDirectory($name, $archives)
}
[/code:1]
Si une âme charitable passe dans les parrages...
Voilà l'erreur :
Exception calling \"CreateFromDirectory\" with \"2\" argument(s): \"L'accès au chemin d'accès 'C:\archives' est refusé.\"
At line:18 char:1
+ [io.compression.zipfile]::CreateFromDirectory($name, $archives)
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (
+ FullyQualifiedErrorId : UnauthorizedAccessException<br><br>Message édité par: boutou, à: 21/09/15 20:12
Connexion ou Créer un compte pour participer à la conversation.
- boutou
- Auteur du sujet
- Hors Ligne
- Membre junior
-
Réduire
Plus d'informations
- Messages : 36
- Remerciements reçus 0
il y a 10 ans 8 mois #20724
par boutou
Réponse de boutou sur le sujet Re:Accès refusé en script mais pas par l'explorateur
C'est bon j'ai trouvé ! pur info voilà le code corrigé
[code:1]$toarchive = get-childitem $source | where {$_.psiscontainer -eq \"true\"}
$date = get-date -format yyyy-MMMM-dd_hh-mm
foreach ($s in $source)
{
Add-Type -assembly \"system.io.compression.filesystem\"
$source=\"c:\temp\\"
$destfile = \"c:\archives\XGJ$date.zip\"
[System.IO.Compression.ZipFile]::CreateFromDirectory($source,$destfile)
}[/code:1]
[code:1]$toarchive = get-childitem $source | where {$_.psiscontainer -eq \"true\"}
$date = get-date -format yyyy-MMMM-dd_hh-mm
foreach ($s in $source)
{
Add-Type -assembly \"system.io.compression.filesystem\"
$source=\"c:\temp\\"
$destfile = \"c:\archives\XGJ$date.zip\"
[System.IO.Compression.ZipFile]::CreateFromDirectory($source,$destfile)
}[/code:1]
Connexion ou Créer un compte pour participer à la conversation.
- Arnaud Petitjean
-
- Hors Ligne
- Modérateur
-
il y a 10 ans 8 mois #20725
par Arnaud Petitjean
MVP PowerShell et créateur de ce magnifique forum
Auteur de 6 livres PowerShell aux éditions ENI
Fondateur de la société Start-Scripting
Besoin d'une formation PowerShell ?
Réponse de Arnaud Petitjean sur le sujet Re:Accès refusé en script mais pas par l'explorateur
Bonsoir Boutou,
Content pour toi que tu aies pu résoudre ton problème
Ceci étant, si j'étais toi je ne ferais le Add-Type qu'une seule fois car cela ne sert à rien de le mettre dans ton ForEach. En effet le laisser tel qu'il est pourrait même te saturer la mémoire.
Cordialement,
Arnaud
Content pour toi que tu aies pu résoudre ton problème
Ceci étant, si j'étais toi je ne ferais le Add-Type qu'une seule fois car cela ne sert à rien de le mettre dans ton ForEach. En effet le laisser tel qu'il est pourrait même te saturer la mémoire.
Cordialement,
Arnaud
MVP PowerShell et créateur de ce magnifique forum
Auteur de 6 livres PowerShell aux éditions ENI
Fondateur de la société Start-Scripting
Besoin d'une formation PowerShell ?
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.033 secondes
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- Accès refusé en script mais pas par l'explorateur