我希望我的Active Directory用户有他们自己的主文件夹来存储他们的文件,我想通过PowerShell为每个用户帐户设置这个文件夹。我尝试了几件事,但它所做的只是将AD中的"profile“下的设置更改为本地用户位置,而用户登录时似乎不会出现这种情况。
我尝试过的一些代码:
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)"
}发布于 2017-05-05 08:00:49
对于您的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)。它需要是$() part is the subexpression operator that ensures that theSamAccountNameproperty of$user`,在转换为双引号字符串中的字符串之前,将正确访问$($user.SamAccountName)。
根据另一个答案,如果主目录仍然没有在登录上进行映射,那么您可能还需要确保每个用户都对他们的目录具有共享和NTFS权限。
发布于 2017-05-05 08:05:43
使用AD控制台设置主文件夹时,它还会在指定的位置(\\WIN-L372AGVF8AI\NewHome)创建“用户”文件夹,并为用户分配访问该文件夹所需的权限。
使用PowerShell命令不创建文件夹或分配任何权限,它只更新用户帐户中的属性。
您需要更新脚本以创建文件夹并设置权限:
foreach ($user in $users)
{
$username = $user.SamAccountName
Set-ADUser $username -HomeDrive "Z:" -HomeDirectory "\\WIN-L372AGVF8AI\NewHome\$username"
New-Item -Path "\\WIN-L372AGVF8AI\NewHome\$username" -ItemType Directory
#Set appropriate ntfs permissions here
}https://stackoverflow.com/questions/43799473
复制相似问题