O mapeamento de pastas domésticas usando o Powershell o define no AD, mas não faz mais nada

1

Eu quero que meus usuários do Active Directory tenham sua própria pasta Home para armazenar seus arquivos e desejo definir isso para cada conta de usuário por meio do PowerShell. Eu tentei várias coisas, mas tudo o que faz é alterar a configuração em "perfil" no AD para o local de homefolder, e isso não parece aparecer para os usuários quando eles fazem login. Algum código que tentei:

    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)"
}
    
por MartinTheNob 05.05.2017 / 10:38

1 resposta

1

Se você definiu o caminho e ele aparece no perfil, mas não será mapeado para os usuários, é mais provável que seja um problema de acesso. Ele não mapeará a unidade a menos que o usuário tenha acesso ao caminho. Se houver um erro de digitação ou se as permissões não estiverem corretas, a unidade não será mapeada. Ele também não mapeará se a rede não estiver disponível no momento do login. O problema de indisponibilidade de rede é comum em laptops que a conexão sem fio não conecta com rapidez suficiente.

Observe também que, quando você cria diretórios pessoais por meio da GUI Usuários e Computadores do AD, ele cria a pasta (se necessário) e adiciona as permissões explicitamente para o usuário. Se você estiver alterando as propriedades por meio do PowerShell, precisará criar e definir permissões por conta própria. Você também pode fazer isso via powershell.

$samAccountName = "TUser"
$domain = "Contoso"
$homePath = "\Server\Home"

### Create Home Folder
New-Item -Path "$homePath\$samAccountName" -ItemType Directory

### Set Permissions on home folder
$aclPath = "$homePath\$samAccountName"
$acl = Get-Acl $aclPath

$identity = "$domain\$samAccountName"
$rights = "Modify"
$inheritanceFlags = "ContainerInherit, ObjectInherit"
$propagationFlags = "None"
$accessControlType = "Allow"

$rule = New-Object System.Security.AccessControl.FileSystemAccessRule("$identity","$rights","$inheritanceFlags","$propagationFlags","$accessControlType")

$acl.AddAccessRule($rule)

Set-Acl $aclPath $acl
    
por 05.05.2017 / 16:44

Tags