1 votes

Créer et cartographier un lecteur sur la base d'une connexion

Je souhaite créer un dossier pour chaque utilisateur s'il n'en a pas déjà un sur un serveur de fichiers Windows lorsque l'utilisateur se connecte à chaque fois.

Par exemple, si j'ai un utilisateur "jdoe", j'aimerais pouvoir créer automatiquement un partage appelé "jdoe" la première fois que cet utilisateur se connecte. Puis rendre ce partage disponible à chaque fois que cet utilisateur se connecte après la création du partage.

La stratégie fonctionne au point que, si je crée manuellement le nom de partage pour l'utilisateur, le lecteur réseau est mappé correctement. La dernière étape consisterait à créer le partage s'il n'existe pas.

Le paramétrage de la politique se présente comme suit :

enter image description here

Existe-t-il un moyen d'automatiser entièrement ce processus/cette politique ou faut-il le faire avec un script de connexion personnalisé ou quelque chose du genre ?

Mise à jour 1 :

Voici à quoi ressemblent les autorisations d'accès aux dossiers. Cela vous aidera peut-être à comprendre pourquoi le partage n'est pas créé la première fois que le lecteur est mappé.

enter image description here

Voici les options avancées pour les utilisateurs authentifiés.

enter image description here

Mise à jour 2 :

J'ai au moins quelque chose qui fonctionne maintenant, même si je ne pense pas que ce soit la meilleure façon ou la plus propre de le faire. J'ai créé deux scripts, 1 pour créer le partage s'il n'existe pas et l'autre pour mapper le partage.

Je me dis qu'il doit y avoir un moyen plus facile, ou du moins moins compliqué, plus évident, de faire cela ?

2voto

fartheraway Points 4886

Le problème à ce stade est probablement lié aux autorisations sur le dossier \\server\share.

Le compte de l'utilisateur ou de l'ordinateur (je ne sais plus lequel... ça fait longtemps) doit avoir la possibilité de créer le nouveau dossier %username%. Vérifiez les droits NTFS et les droits de partage. À partir de là, la création devrait se faire d'elle-même. En tout cas, c'est ce qui s'est passé lorsque j'ai eu besoin de configurer ce système :)

EDIT -

Je pense qu'il s'agit de comptes d'utilisateurs et non d'ordinateurs. J'ai eu tendance à utiliser "Utilisateurs autorisés" pour ce paramètre.

Vous devriez également être en mesure d'accorder le droit de "Créer un dossier" au paramètre "Seulement ce dossier" du dossier partagé. Cela devrait être le minimum pour faire ce que vous voulez.

EDIT - Voir la documentation officielle sur le sujet ici . Examinez en particulier la section "Autorisations de redirection de dossiers".

1voto

JohnThePro Points 2595

La stratégie de groupe permettant de mapper un lecteur n'effectue que le mappage. Elle n'est pas en mesure de créer le partage automatiquement. Vous devrez le faire par programme, probablement au moyen d'un script de connexion.

Ce lien renvoie à une Excellent article de blog détaillant comment créer un script PowerShell qui vérifiera la présence d'un répertoire, et s'il n'existe pas, il le créera (et je pense que le script va jusqu'à le partager).

Si vous associez des éléments du login script à votre GPO, vous disposerez d'une solution adaptée à vos besoins.

0voto

Traphicone Points 64

Je pense que pour que cela fonctionne, vous devez configurer le dossier "racine" (Utilisateurs) de la même manière que pour les profils redirigés ou les dossiers redirigés.

Example Permissions

Dans cet exemple, les autorisations "spéciales" pour CREATOR OWNER et Authenticate Users sont les suivantes :

PROPRIÉTAIRE DU CRÉATEUR : Contrôle total - "Sous-dossier et fichiers uniquement".

Utilisateurs authentifiés : "Lister les dossiers/Lire les données" et "Créer des dossiers/Ajouter des données" - Ce dossier uniquement

0voto

jmreicha Points 791

J'ai dû utiliser une combinaison de deux scripts différents pour que cela fonctionne. Je lance d'abord un scripts powershell qui vérifie si un répertoire existe et, si ce n'est pas le cas, le crée.

createshare.ps1

$share = $env:username
$sharepath = "\\fileserver\Users\$share"

If (!(Test-Path $sharepath)) {
New-Item $sharepath -type Directory
}

Le script suivant supprime simplement l'ancien nom de partage et monte le nouveau partage.

mapdrives.bat

@echo off
net use * /delete /yes

net use z: "\\fileserver\Test Network"
net use u: "\\fileserver\Users\%username%"

Je dispose d'une stratégie de groupe définie pour exécuter le script powershell script et ensuite exécuter le fichier bat pour mapper les lecteurs à l'ouverture de session de l'utilisateur.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X