Совместное использование папки и настройка разрешений в PowerShell
Мне нужно script для запуска в Vista Ultimate для совместного использования внешнего накопителя и назначения полного управления всем. У меня есть пакетный файл для создания общего ресурса с помощью net share
, но, похоже, не существует способа изменить разрешения. Я считаю, что это должно быть возможно в PowerShell, но я не знаю, с чего начать.
Ответы
Ответ 1
Два ответа.
В 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.
Ответ 2
Если вы ищете ответ на этот вопрос, но вы используете Windows 7 (вместо Vista), как и я, вам может быть интересно узнать, что разрешения могут быть установлены в команде NET SHARE, прямо сейчас.
Например,
NET SHARE Movies = M:\Movies/GRANT: Everybody, READ
создаст общий ресурс и предоставит ему права на доступ только для чтения.
Вместо READ вы также можете использовать CHANGE или FULL.
Ответ 3
Начиная с WMF 4:
New-SmbShare –Name ShareName –Path C:\LocalFolder –FullAccess Username
http://technet.microsoft.com/en-us/library/jj635722.aspx
Ответ 4
Carbon Модуль PowerShell имеет две функции, которые сделают это для вас: Install-SmbShare и Grant-Permission. Я бы загрузить его и попробовать.
Install-SmbShare -Name MyShare -Path X:\ -FullAccess 'Everybody' `
-Description 'My super-awesome file share!'
Grant-Permission -Identity Everyone -Permission FullControl -Path X:\
Отказ от ответственности: я автор и создатель Carbon. Я рекомендую использовать этот модуль, потому что есть много предостережений и выбоин, которые нужно учитывать при установке акций и предоставлении разрешений. Эти две функции позаботятся об этом для вас.