Important Script Powershell Dossier Partager.

Plus d'informations
il y a 4 mois 1 semaine - il y a 4 mois 1 semaine #32326 par ADshell01
Bonjour,
Je dois créer un script dans le cadre d'un "devoir" ça va faire des jours que je tourne en rond est impossible de trouver un script utilisable ou un tuto compréhensible pour un débutant, ça commence à me rendre fou.
Le script est simple à expliquer, je dois créer un dossier partagé dans mon lecteur E: sur mon serveur Windows, ce dossier doit être seulement accessible par l'utilisateur désigné sur son ordinateur sous Windows 10 dans Emplacement réseau tous les autres utilisateurs de l'AD ne doivent pas voir le dossier ni pouvoir y accéder.
J'ai trouvé ce script dans un des sujets met le script est fait pour des utilisateurs non créés sauf que moi mes utilisateurs sont déjà créer voici le script que j'ai essayé d'adapter :


Script original : #variables

$nom = Read-Host "Nom"
$login = Read-Host "Login"
$pwd = Read-Host "Password"
$partage = Read-Host "Nom du dossier partagé"


#commande de création nouvel utilisateur

New-AdUser -Name $nom -SamAccountName $login -UserPrincipalName $login@axeplane.loc -AccountPassword (ConvertTo-SecureString -AsPlainText $pwd -Force) -ChangePasswordAtLogon $true -HomeDrive "z" -HomeDirectory "\\SRV1\$partage$" -Enabled $true



#Création d'un dossier perso au nom de l'utilisateur

New-Item -Path "E:\PartagesPerso\$partage$" -ItemType Directory


#Droit d'accès/Permission

Add-NTFSAccess -Path "E:\PartagesPerso\$partage$" -Account "$login@axeplane.loc" -AccessRights Modify


#Partage du dossier

New-SmbShare -Name $partage$ -Path "E:\PartagesPerso\$partage$" -ChangeAccess "$login@axeplane.loc"



Script "Adapter" qui ne marche pas:

$partage = Read-Host "Partage personnel Marnet Alain"

#Création d'un dossier perso au nom de l'utilisateur

New-Item -Path "E:\Partages personnels utilisateurs\$partage$" -ItemType Directory


#Droit d'accès/Permission

Add-NTFSAccess -Path "E:\Partages personnels utilisateurs\$partage$" -Account "$a.marnet@axeplane.loc" -AccessRights Modify


#Partage du dossier

New-SmbShare -Name $partage$ -Path "E:\Partages personnels utilisateurs\$partage$" -ChangeAccess "$a.marnet@axeplane.loc" 

AdUser -Marnet Alain -HomeDrive "Z:" -HomeDirectory "\\SRV-WIN2022\$partage$" -Enabled $true


Message d'erreur :

PS C:\Users\Administrateur> $partage = Read-Host "Partage personnel Marnet Alain"

#Création d'un dossier perso au nom de l'utilisateur

New-Item -Path "E:\Partages personnels utilisateurs\$partage$" -ItemType Directory


#Droit d'accès/Permission

Add-NTFSAccess -Path "E:\Partages personnels utilisateurs\$partage$" -Account "$a.marnet@axeplane.loc" -AccessRights Modify


#Partage du dossier

New-SmbShare -Name $partage$ -Path "E:\Partages personnels utilisateurs\$partage$" -ChangeAccess "$a.marnet@axeplane.loc" 

AdUser -Marnet Alain -HomeDrive "Z:" -HomeDirectory "\\SRV-WIN2022\$partage$" -Enabled $true
Partage personnel Marnet Alain : 


    Répertoire : E:\Partages personnels utilisateurs


Mode                 LastWriteTime         Length Name                                                                                           
----                

       
----                                                                                           
d
       26/05/2022     22:05                $                                                                                              
Add-NTFSAccess : Le terme «Add-NTFSAccess» n'est pas reconnu comme nom d'applet de commande, fonction, fichier de script ou programme 
exécutable. Vérifiez l'orthographe du nom, ou si un chemin d'accès existe, vérifiez que le chemin d'accès est correct et réessayez.
Au caractère Ligne:10 : 1
+ Add-NTFSAccess -Path "E:\Partages personnels utilisateurs\$partage$"  ...
+ ~~~~~~~~~~~~~~
    + CategoryInfo          : ObjectNotFound: (Add-NTFSAccess:String) , CommandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException
 
New-SmbShare : Le mappage entre les noms de compte et les ID de sécurité n’a pas été effectué. 
Au caractère Ligne:15 : 1
+ New-SmbShare -Name $partage$ -Path "E:\Partages personnels utilisateu ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (MSFT_SMBShare:ROOT/Microsoft/Windows/SMB/MSFT_SMBShare) [New-SmbShare], CimException
    + FullyQualifiedErrorId : Windows System Error 1332,New-SmbShare
 
Get-ADUser : Impossible de trouver un paramètre correspondant au nom « Marnet ».
Au caractère Ligne:17 : 8
+ AdUser -Marnet Alain -HomeDrive "Z:" -HomeDirectory "\\SRV-WIN2022\$p ...
+        ~~~~~~~
    + CategoryInfo          : InvalidArgument : (:)  [Get-ADUser], ParameterBindingException
    + FullyQualifiedErrorId : NamedParameterNotFound,Microsoft.ActiveDirectory.Management.Commands.GetADUser

Le script me créer le dossier demander plus un dossier $ je ne sais pas pourquoi.
Merci a tous ceux qui pourront m'aider.
Dernière édition: il y a 4 mois 1 semaine par ADshell01.

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 4 mois 6 jours #32328 par Philippe
salut ADshell01

merci de ne pas cliquer sur le lien du message de spam precedent !!

tu trouvera sur ce site des explications sur le module NTFS que tu utilise et qu'il te manque !
si tu veux tu doit installer le module NTFS avec la commande suivante en Admin : Install-Module NTFSSecurity si tu ne veux pas de $ à la fin du nom de ton dossier sur ces lignes comme ceci : New-Item -Path "E:\Partages personnels utilisateurs\$partage" -ItemType Directory
Add-NTFSAccess -Path "E:\Partages personnels utilisateurs\$partage" -Account "$a.marnet@axeplane.loc" -AccessRights Modify
New-SmbShare -Name $partage$ -Path "E:\Partages personnels utilisateurs\$partage" -ChangeAccess "$a.marnet@axeplane.loc" 
AdUser -Marnet Alain -HomeDrive "Z:" -HomeDirectory "\\SRV-WIN2022\$partage" -Enabled $true
pour ce message d'erreur :  New-SmbShare : Le mappage entre les noms de compte et les ID de sécurité n’a pas été effectué. 
tu utilise un nom qui n'existe pas, "$a.marnet@axeplane.loc"
je pense que le $ est en trop si le login est a.marnet, pour le nom de domaine a toi de voir si c'est bien @axeplane.loc
idem pour le message d'erreur : Get-ADUser : Impossible de trouver un paramètre correspondant au nom « Marnet ».


PS :
Le dollar sert pour indiquer une variable, exemple $partage  
sauf si il n'y a rien directement après le dollar, dans ce cas il sert pour mettre un seulement dollar dans une chaine de caractères exemple "j'ai gagner 10 000$ (dollar)   champagne !!"
 
Les utilisateur(s) suivant ont remercié: ADshell01

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 4 mois 4 jours - il y a 4 mois 4 jours #32329 par ADshell01
Merci, en fait, il fallait retirer les $ et rajouter set Aduser a.marnet voici mon script fonctionnel. :
$partage = Read-Host "Saisir "

#Création d'un dossier perso au nom de l'utilisateur

New-Item -ItemType Directory -Path "E:\Partages personnels utilisateurs\$partage"


#Ajout des autorisations NTFS

Add-NTFSAccess -Path "E:\Partages personnels utilisateurs\$partage" -Account "Cette adresse e-mail est protégée contre les robots spammeurs. Vous devez activer le JavaScript pour la visualiser." -AccessRights Modify


#Partage du dossier

New-SmbShare -Name $partage -Path "E:\Partages personnels utilisateurs\$partage" -ChangeAccess "Cette adresse e-mail est protégée contre les robots spammeurs. Vous devez activer le JavaScript pour la visualiser."

Set-ADUser a.marnet -HomeDrive "Z:" -HomeDirectory "\\SRV-WIN2022\$partage" -Enabled $true
Dernière édition: il y a 4 mois 4 jours par ADshell01.

Connexion ou Créer un compte pour participer à la conversation.

Temps de génération de la page : 0.107 secondes
Propulsé par Kunena