2014-03-25 21 views
2

我使用New-Item cmdlet创建文件的备份副本时,收到以下错误:PowerShell的NewItemUnauthorizedAccessError

new-item : Access to the path 'C:\Program Files (x86)\PRTG Network Monitor\webroot\mailtemplates' is denied. At line:1 char:21 + foreach ($i in $a) {new-item -itemtype file -name $i.bak} + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : PermissionDenied: (C:\Program File...t\mailtemplates:String) [New-Item], UnauthorizedAcc essException + FullyQualifiedErrorId : NewItemUnauthorizedAccessError,Microsoft.PowerShell.Commands.NewItemCommand

这里是命令我执行:

pwd
C:\Program Files (x86)\PRTG Network Monitor\webroot\mailtemplates
$a = ls
foreach ($i in $a) {new-item -itemtype file -name $i.bak}

  • 我以本地管理员身份登录
  • Administrator是Administrators组的成员
  • 管理员组具有该文件夹的所有权限
  • 我开始了POSH控制台管理员
  • 执行策略设置远程签署(以防万一它事项)
  • 我可以使用New-Item cmdlet可以在文件夹内创建一个test.txt文件
  • 我可以使用GUI到该目录中创建的所有文件的副本

不是S从哪里出发。

回答

0

试试这个:

foreach ($i in $a) {new-item -itemtype file -name "$($i.basename).bak"} 
+0

这是我得到:'的foreach($我在$ a){新项目-itemtype文件-name “$($ i.htm).TXT”} -a --- 3/26/2014 8:17 AM 0 .txt new-item:文件'C:\ Program Files(x86)\ PRTG Network Monitor \ webroot \ mailtemplates \ .txt'已经存在。 At line:1 char:21 + foreach($ i in $ a){new-item -itemtype file -name“$($ i.htm).txt”} + + CategoryInfo:WriteError :(C: \ Program Files ... ltemplates \ .txt:String)[New-Item],IOException + FullyQualifiedErrorId:NewItemIOError,Microsoft.PowerShell.Commands.NewItemCommand' – Kyra

+0

@kira而不是'“$($ i.htm) .txt“'但是'”$($ i.basename).txt“'!!!! –

+0

像广告一样工作。不熟悉语法。我误解了你的基本名称。谢谢。 – Kyra