首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Powershell映射主文件夹,在AD中将其设置,但不执行任何其他操作

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

Stack Overflow用户
提问于 2017-05-05 07:55:59
回答 2查看 2.1K关注 0票数 2

我希望我的Active Directory用户有他们自己的主文件夹来存储他们的文件,我想通过PowerShell为每个用户帐户设置这个文件夹。我尝试了几件事,但它所做的只是将AD中的"profile“下的设置更改为本地用户位置,而用户登录时似乎不会出现这种情况。

我尝试过的一些代码:

代码语言:javascript
复制
    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)"
    }
EN

回答 2

Stack Overflow用户

发布于 2017-05-05 08:00:49

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

代码语言:javascript
复制
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权限。

票数 2
EN

Stack Overflow用户

发布于 2017-05-05 08:05:43

使用AD控制台设置主文件夹时,它还会在指定的位置(\\WIN-L372AGVF8AI\NewHome)创建“用户”文件夹,并为用户分配访问该文件夹所需的权限。

使用PowerShell命令不创建文件夹或分配任何权限,它只更新用户帐户中的属性。

您需要更新脚本以创建文件夹并设置权限:

代码语言:javascript
复制
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
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43799473

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档