使用Powershell映射主文件夹将其设置为AD,但不执行任何其他操作

时间:2017-05-05 07:55:59

标签: powershell active-directory

我希望我的Active Directory用户拥有自己的主文件夹来存储他们的文件,我想通过PowerShell为每个用户帐户设置此文件。我尝试了几件事,但它所做的只是将AD中“ profile ”下的设置更改为homefolder位置,这似乎不会在用户登录时显示。

我试过的一些代码:

    SET-ADUSER inggul –HomeDrive ‘P:’ –HomeDirectory ‘\\WIN-L372AGVF8AI\NewHome\$Inggul’

    $users = Get-ADUser -SearchBase "ou=sAdminOU,dc=kossi,dc=local" -Filter * -Properties Department
    foreach ($user in $users)
    {
    Set-ADUser $_.SamAccountName -HomeDrive "Z:" -HomeDirectory "\\WIN-L372AGVF8AI\NewHome\($_.SamAccountName)"
    }

1 个答案:

答案 0 :(得分:2)

关于你的PowerShell,第一个命令看起来应该对我有用。您的ForEach循环存在问题,它引用的是$_而不是$user。它应该是:

foreach ($user in $users)
{
    Set-ADUser $user.SamAccountName -HomeDrive "Z:" -HomeDirectory "\\WIN-L372AGVF8AI\NewHome\$($user.SamAccountName)"
}

$_用于表示ForEach-Object循环(或处理来自管道的输入的其他构造中,例如Where-Object)内的管道中的当前项。您在$前面也错过了($user.SamAccountName)。它必须是$($user.SamAccountName),才能正确访问$() part is the subexpression operator that ensures that the SamAccountName property of $ user`,然后再将其转换为双引号字符串中的字符串。

根据另一个答案,如果主目录仍未在登录时映射,那么您可能还需要确保每个用户对其目录具有共享和NTFS权限。