我希望我的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)"
}
答案 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权限。