如何使用powershell

时间:2017-06-13 22:17:56

标签: powershell

我正在尝试设置目录中具有特定修改日期的许多文件夹的所有权,这要求我使用Foreach-Object。我能够获得我想要的所有文件夹的名称,但是,我无法在文件夹上使用命令提示符命令“takeown”和“icacls”。

继承我尝试的内容:

Get-ChildItem D:\2008_Profile | 
 ?{$_.LastWriteTime -lt (Get-Date).AddDays(-163)} |
  ForEach-Object { 
    echo $_.Name
    takeown /f $_.Name /R
    icacls $_.Name /grant administrators:F
}

以下是我得到的:

aan.V2

takeown : ERROR: The system cannot find the file specified.
At line:4 char:1
+ takeown /f $_.Name /R
+ ~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (ERROR: The syst...file specified.:String) [], RemoteException
    + FullyQualifiedErrorId : NativeCommandError


Successfully processed 0 files; Failed processing 1 files


icacls : aan.V2: The system cannot find the file specified.
At line:5 char:1
+ icacls $_.Name /grant administrators:F
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (aan.V2: The sys...file 
specified.:String) [], RemoteException
    + FullyQualifiedErrorId : NativeCommandError

注意:aan.V2是文件夹名称

1 个答案:

答案 0 :(得分:3)

在评论中回答的问题:

  

$_.Name替换为$_.FullName以完整引用内容   路径。或者将当前目录更改为引用的目录   宾语。 - TheMadTechnician