1 votes

Powershell Noobie Copie et création de fichiers avec des permissions correctes

J'ai créé un script PowerShell pour copier des fichiers dans un répertoire, le script, tout d'abord. crée un répertoire , ou force un événement de nouveau répertoire s'il existe. Ensuite, il copie un répertoire depuis un autre emplacement. Après avoir copié, les fichiers j'ai ensuite besoin de copier la bonne web config en fonction d'une valeur donnée par l'utilisateur exectuant le script. Le problème que je rencontre est que je peux copier les fichiers, mais tous les fichiers sont en lecture seule, ce qui signifie que lorsque j'essaie de copier le web.config correct, le script échoue car l'accès est refusé.

Il s'agit d'une version réduite de script pour plus de simplicité.

$WebApp_Root = 'C:\Documents and Settings\user\Desktop\Dummy.Website'

$Preview_WebApp_Root = 'c:\applications\Preview\'

$Choice = read-host("enter 'preview' to deploy to preview, enter Dummy to deploy to Dummy, or enter test to deploy to the test environment")
if (($Choice -eq 'Preview') -or ($Choice -eq 'preview'))
{
$Choice = 'Preview'
$Final_WebApp_Root  = $Preview_WebApp_Root
}

write-host("Releasing Build to " + $Choice +'...')

write-host("Emptying web folders or creating them if they don't exist... ")
New-Item $Final_WebApp_Root -type directory -force 

write-host("Copying Files... ")
Copy-Item $WebApp_Root $Final_WebApp_Root -recurse  

write-host("Copy the correct config file over the top of the dev web config...")
Copy-Item $Final_WebApp_Root\Config\$Choice\Web.configX $Final_WebApp_Root\web.config

write-host("Copying correct nhibernate config over")
Copy-Item $Final_WebApp_Root\Config\$Choice\NHibernate.config $Final_WebApp_Root\NHibernate.config

write-host("Deployed full application to environment")

0voto

Lorsque vous faites votre copie-élément, utilisez le paramètre -Force pour contourner le problème de l'attribut en lecture seule. Si cela ne suffit pas, vous pouvez ajouter une routine qui utilise Get-Item et supprime temporairement l'attribut "lecture seule", copier le fichier, puis réinitialiser l'attribut.

J'espère que cela vous aidera.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X