远程访问\\ server \ c $ \ users \ user \ My Documents

时间:2014-04-15 05:13:43

标签: powershell

我正在尝试使用C $内置共享来远程获取用户“我的文档”文件夹的大小。

我可以浏览共享,我可以'设置位置'到共享,但是一旦我尝试'Get-ChildItem',我就会被拒绝许可。

我无法弄清楚这是否是Powershell的一些内置限制?

目前在PS2上尝试过PS3同样的结果。

(用户对共享和NTFS都具有完全访问权限)

我尝试使用'Get-Credentials'提供凭据,我也试过'New-PSDrive'映射,同样的问题,位置很好但是只要我GCI吐出'PermissionDenied ”。

$compList = [LIST OF COMPUTERS]
$exclude = [LIST OF EXCLUDED USERS]
$userSizes = @()

foreach ($computer in $compList){
gci ("\\$computer\c$\users\") | where {$exclude -notcontains $_.name}| foreach-object {
    $curUser = $_.name
    New-PSDrive -name "Map" -PSProvider FileSystem -Root "\\$computer\c$\users\$_\My Documents"
    $size = "{0:N2}" -f ((gci "Map:\" -recurse | Measure-Object -property length -sum).sum /1MB)
    $properties = @{'Computer'=$computer;'User'=$curUser;'Size (MB)'=$size}
    $curObject = New-Object –TypeName PSObject –Prop $properties
    $userSizes += $curObject
    Remove-PSDrive -name "Map"
    }

}

$userSizes | Out-GridView
$usersizes = $null

请记住,PS2中的GCI不允许提供凭据,“FileSystem”提供商也不允许!

2 个答案:

答案 0 :(得分:1)

您可能需要凭据才能在远程共享上使用Get-ChildItem,我发现我已经完全访问了我的NAS,但是PowerShell给了我同样的错误"权限被拒绝",它似乎很奇怪,我无法解释为什么当我获得完全权限时它失败了但是当我给PowerShell我的凭据时它起作用了。

首先尝试声明凭据:

$creds = get-credential

然后使用像这样的凭证

Get-ChildItem "\\server\c$\users\user\My Documents" -credentials $creds

答案 1 :(得分:0)

呃耻辱。

原因是路径实际上是

\\[server]\c$\users\[user]\documents

对于一些未知的,上帝抛弃的原因,Windows资源管理器将路径显示为“我的文档”。但实际的路径是' Documents'。

我不知道为什么他们会这样做,但确实如此。现在工作正常,又浪费了几个小时......