Question

J'ai besoin d'un script à exécuter sur Vista Ultimate pour partager un disque dur externe et d'attribuer le contrôle total à tout le monde. J'ai un fichier batch pour créer le partage à l'aide net share, mais il ne semble pas être un moyen de changer les permissions. Je pense cela doit être possible dans PowerShell, mais je ne sais pas où commencer.

Était-ce utile?

La solution

Deux réponses.

Dans PowerShell, l'applet de commande Get-ACL récupérera les autorisations existantes. Vous modifiez ensuite les commandes à l'aide de .NET et exécutez Set-ACL pour l'appliquer de nouveau dans le dossier - l'aide pour ces deux exemples cmdlets comprend, et vous pouvez télécharger les exemples du livre de www.sapienpress.com pour « Windows PowerShell: TFM "= le livre contient également des exemples explicites.

Cependant, il ne vaut pas votre temps. En pratique, les ACLs de fichiers sont une douleur royale à traiter et incroyablement complexe. Microsoft a déjà écrit de beaux outils pour ce faire, comme Cacls, et il est beaucoup plus facile que d'utiliser ceux-ci.

Maintenant que toutes les autorisations de fichiers - vous pouvez aussi être intéressé à changer les autorisations sur le partage lui-même. L'outil pour cela est SUBINACL, et vous pouvez le télécharger à partir de Microsoft. Voir aussi http://cwashington.netreach.net/depo/view. asp? Index = 1127 & ScriptType = vbscript.

Autres conseils

Si vous êtes à la recherche d'une réponse à cette question, mais vous utilisez Windows 7 (au lieu de Vista), comme je l'étais, vous pourriez être intéressés de savoir que les autorisations peuvent être définies dans la commande NET PART, maintenant, directement.

Par exemple,

NETSHARE Films = M: \ Films / GRANT: Everyone`, LIRE

va créer une action et donner à chacun les permissions en lecture seule à elle.

Au lieu de lire, vous pouvez utiliser CHANGE ou FULL ainsi.

Au WMF 4:

New-SmbShare –Name ShareName –Path C:\LocalFolder –FullAccess Username

http://technet.microsoft.com/en-us/library/jj635722.aspx

Le module PowerShell de carbone a deux fonctions qui le fera pour vous: Install-SmbShare et Grant-autorisation . Je le télécharger et lui donner un essai.

Install-SmbShare -Name MyShare -Path X:\ -FullAccess 'Everybody' `
                 -Description 'My super-awesome file share!' 
Grant-Permission -Identity Everyone -Permission FullControl -Path X:\

Disclaimer: Je suis l'auteur et le créateur de carbone. Je recommande d'utiliser ce module, car il y a beaucoup de mises en garde et les nids de poule à surveiller lors de l'installation d'actions et d'accorder des autorisations. Ces deux fonctions prennent en charge pour vous.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top