CMD - Takeown给出“传递给系统调用的数据区域太小”

时间:2015-06-10 10:36:06

标签: batch-file cmd

我正在编写一个脚本来重置漫游配置文件,它基本上在一个部分失败了:

  1. 更改文件夹和子文件夹(用户个人资料)的所有权
  2. 将其复制到Temp文件夹
  3. 删除原始
  4. 要更改所有权我使用了:

    takeown /s \\profile-server /f e:\Profiles\%username% /r /d Y
    

    这是从域管理员帐户运行,因此权限很好。然后我得到以下输出:

      

    成功:文件(或文件夹):“\\ profile-server \ e $ \ Profiles \%username%”现在由用户“domain \ user”拥有。

         

    错误:传递给系统调用的数据区域太小

    因此,它会更改最顶层文件夹的所有权,但会在第一个子项目中失败。

    我在网络上的两台计算机上试过这个并且工作正常但是只要我将计算机更改为配置文件服务器就会出现此错误。

    有什么想法吗?

    由于

1 个答案:

答案 0 :(得分:0)

为了纠正这一切,我必须做的就是使用PsExec来运行命令,所以:

psexec \\profileserver takeown /f e:\Profiles\%username% /r /d Y

它允许我以递归方式取得所有文件的所有权。