PowerShell, tout comme net use, net share, vous permet de gérer vos partages réseaux et de dossier de Windows 10.
Différents cmdlet et commandes existent pour lister, créer et supprimer des partages réseaux mais aussi gérer les autorisations sur les partages réseaux.
Cet article vous guide pour administrer vos partages réseaux en Powershell.
Table des matières
- 1 Introduction aux cmdlet Powershell SmbShare
- 2 PowerShell : gérer les partages réseaux et de dossier de Windows 10
- 2.1 PSSession et session à distance
- 2.2 Lister et afficher les partages réseaux
- 2.3 Créer un partage réseau
- 2.4 Lister les autorisations d’un partage
- 2.5 Ajouter, Modifier, supprimer les autorisations d’un partage réseau
- 2.6 Refuser l’accès à un partage de dossier à un groupe ou utilisateur
- 2.7 Modifier les propriétés d’un partage réseau
- 2.8 Supprimer un partage réseau
- 2.9 Créer un lecteur réseau ou mapper un lecteur réseau
cmdlet Powershell | Description |
Get-SmbShare | Lister les partages réseaux |
New-SmbShare | Créer un nouveau partage réseau |
Remove-SmbShare | Supprimer un partage réseau |
Grant-SmbShareAccess | Modifier les autorisations d’un partage réseau |
Revoke-SmbShareAccess | Supprimer les autorisations d’un partage réseau |
Set-SmbShare | Modifier les propriétés d’un partage |
Get-SmbShareAccess | Lister les autorisations d’un partage |
New-SmbMapping | Mapper un lecteur réseau |
La liste des autres cmdlet SmbShare dans la documentation Microsoft : List SmbShare cmdlet
En général, lorsque l’on passe une commande, une confirmation est à faire avec Oui ou non.
Vous pouvez passer outre la confirmation avec l’option -Force.
Pour cibler un partage et travailler dessus, on l’option -Name suivi du nom du partage.
PowerShell : gérer les partages réseaux et de dossier de Windows 10
PSSession et session à distance
Avec Powershell, on peut très facilement lister les ressources réseaux locales mais on peut aussi travailler sur un PC distant grâce à PSSession.
Après avoir ouvert PowerShell, on démarre une session d’un PC distant avec la commande suivante :
Enter-PSSession -ComputerName NomDuPC
Lister et afficher les partages réseaux
En Powershell, on utilise donc la commande get-SmbShare afin d’obtenir la liste des partages réseaux.
Saisissez simplement la commande et vous aurez la liste des partages avec le nom, le chemin complet et la description.
Get-SmbShare
A noter aussi qu’il existe cette commande :
get-WmiObject -class Win32_Share
Voir aussi cet article :
Afin d’obtenir les propriétés d’un partage en particulier, on utilise Select *.
Ainsi pour obtenir les propriétés du partage share :
Get-SmbShare -Name share | select *
Créer un partage réseau
Pour créer un partage réseau en Powershell, on utilise la commande New-SmbShare.
Pour créer un partage Films sur le dossier D:\Films :
New-SmbShare -Name "Films" -Path "D:\Films"
Voici les options pour définir les autorisations :
- -ReadAccess : donne un accès en lecture
- -ChangeAccess : donne les autorisations en modifications
- -FullAccess : attribut le contrôle total
- -NoAccess : aucun accès
Par exemple pour créer un partage de dossier avec les autorisations en modifications pour le groupe utilisateurs et contrôle total sur le groupe Administrateurs.
New-SmbShare -Name "Film" -Path "D:\Film" -ChangeAccess "Utilisateurs" -FullAccess "Administrateurs"
Lister les autorisations d’un partage
Il est ensuite possible d’afficher les autorisations d’un partage avec Get-SmbShareAccess :
Get-SmbShareAccess NomDuPartage
Ici on voit que la partage réseau share est en lecture pour tout le monde.
Dans cet autre exemple, Toutle monde est en refuser sur le contrôle totale, il n’a donc pas accès au partage de ce dossier mais l’utilisateur Mak lui a les autorisations en modifications.
Enfin pour afficher les autorisations en liste avec Format-List :
Get-SmbShareAccess share | Format-List
Ajouter, Modifier, supprimer les autorisations d’un partage réseau
PowerShell propose toutes les commandes pour ajouter, modifier ou supprimer les autorisations d’un partage.
Pour modifier un partage existant, on utilise Grant-SmbShareAccess.
Ici on cible le partage réseau film et le compte utilisateur MSI\MaK pour donner l’accès complet.
On voit que l’on passage des permissions modifications au contrôle total.
Grant-SmbShareAccess -Name film -AccountName MSI\MaK -AccessRight Full -Force
PowerShell permet de manipuler les autorisations de partage.
Lorsque l’on doit modifier une autorisation, il faut d’abord retirer celle-ci avec Revoke-SmbShareAccess.
Ici on supprime toutes les autorisations pour l’utilisateur MaK.
Revoke-SmbShareAccess -Name film -AccountName MSI\MaK -Force
Enfin on utilise Grant-SmbShareAccess pour ajouter de nouvelles autorisations à un partage.
On spécifiee les utilisateurs ou groupes que nous souhaitons avoir accès au partage ainsi que le niveau d’accès dont ils disposeront.
Grant-SmbShareAccess -Name film -AccountName MSI\MAK -AccessRight Change
Refuser l’accès à un partage de dossier à un groupe ou utilisateur
Vous devrez peut-être refuser à des utilisateurs ou à des groupes spécifiques l’accès à un partage de fichiers pour des raisons de sécurité. Toutes les autorisations Refuser remplacent toutes les autorisations Autoriser. Ainsi, même si les utilisateurs possèdent des autorisations de lecture ou de modification sur le partage, si vous leur refusez spécifiquement l’autorisation sur ce partage ou s’ils sont dans un groupe refusé, ils ne pourront pas accéder à ce partage.
Pour refuser l’accès d’un utilisateur ou d’un groupe au partage de fichiers, nous allons utiliser la commande Block-SmbShareAccess.
Dans ce cas, on refuse l’utilisateur MaK du PC MSI :
Block-SmbShareAccess -Name film -AccountName MSI\Mak -Force
Enfin il faut utiliser la commande UnBlock-SmbShareAccess pour autoriser l’accès :
UnBlock-SmbShareAccess -Name film -AccountName MSI\Mak -Force
Modifier les propriétés d’un partage réseau
Set-SmbShare est un cmdlnet qui s’utilise pour modifier les propriétés d’un partage.
Par exemple pour modifier la description d’un partage réseaux, on utilise -Description :
Set-SmbShare share -Description "Kikooo"
Activer le chiffrement SMB sur le partage film :
Set-SmbShare –Name <sharename> -EncryptData $true
Remplacer $true par $false pour le désactiver
Puis pour désactiver la mise en cache sur le partage film :
Set-SmbShare film -CachingMode none -Force
Supprimer un partage réseau
Powershell donne la possibilité de supprimer un partage de dossier très simplement avec Remove-SmbShare.
Par exemple pour supprimer le partage réseau avec le nom Data :
Remove-SmbShare -Name "Data"
Créer un lecteur réseau ou mapper un lecteur réseau
Pour créer un lecteur réseau en PowerShell, on utilise New-SmbMapping.
Par exemple pour mapper un lecteur réseau X sur le partage \\PC\MonPartage
New-SmbMapping -LocalPath 'X:' -RemotePath '\\PC\MonPartage'