Совместное использование папки и настройка разрешений в PowerShell - PullRequest
16 голосов
/ 30 декабря 2008

Мне нужен сценарий для запуска в Vista Ultimate, чтобы разделить внешний диск и назначить полный контроль всем. У меня есть пакетный файл для создания общего ресурса с использованием net share, но, похоже, нет способа изменить разрешения. Я считаю, что это должно быть возможно в PowerShell, но я не знаю, с чего начать.

Ответы [ 4 ]

16 голосов
/ 07 октября 2011

Если вы ищете ответ на этот вопрос, но вы используете Windows 7 (вместо Vista), как я, вам может быть интересно узнать, что разрешения можно установить в команде NET SHARE, сейчас, напрямую.

Например,

NET SHARE Movies = M: \ Movies / GRANT: Все`, ЧИТАЙТЕ

создаст общий ресурс и предоставит всем доступ только для чтения.

Вместо READ вы также можете использовать CHANGE или FULL.

12 голосов
/ 15 декабря 2014

По состоянию на WMF 4:

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

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

12 голосов
/ 30 декабря 2008

Два ответа.

В PowerShell командлет Get-ACL извлекает существующие разрешения. Затем вы изменяете их с помощью команд .NET и запускаете Set-ACL, чтобы применить его обратно к папке - справка для этих двух командлетов включает примеры, и вы можете скачать примеры книг с www.sapienpress.com для "Windows PowerShell: TFM "= книга также содержит явные примеры.

Однако это не стоит вашего времени. Практически говоря, файловые списки ACL являются королевской болью и невероятно сложны. Microsoft уже написала прекрасные инструменты для этого, такие как Cacls, и гораздо проще их использовать.

Теперь это все разрешения FILE - вас также может заинтересовать изменение разрешений для самой SHARE. Инструментом для этого является SUBINACL, и вы можете скачать его с Microsoft. Смотри также http://cwashington.netreach.net/depo/view.asp?Index=1127&ScriptType=vbscript.

4 голосов
/ 29 августа 2012

Модуль PowerShell Carbon имеет две функции, которые сделают это за вас: Install-SmbShare и Предоставление-разрешение . Я бы скачал и попробовал.

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

Отказ от ответственности: я автор и создатель Carbon. Я рекомендую использовать этот модуль, потому что есть много предостережений и выбоин, на которые нужно обращать внимание при установке общих ресурсов и предоставлении разрешений. Эти две функции позаботятся об этом за вас.

...