Общий доступ к папке и настройка разрешений в PowerShell
-
29-08-2019 - |
Вопрос
Мне нужен скрипт для запуска в Vista Ultimate, чтобы предоставить общий доступ к внешнему диску и назначить полный контроль всем.У меня есть пакетный файл для создания общего ресурса, используя net share
, но, похоже, способа изменить разрешения не существует.Я считаю, что это должно быть возможно в PowerShell, но я понятия не имею, с чего начать.
Решение
Два ответа.
В PowerShell командлет Get-ACL извлекает существующие разрешения.Затем вы изменяете их с помощью .Команд NET и запускаете Set-ACL, чтобы применить его обратно к папке - справка для этих двух командлетов содержит примеры, и вы можете загрузить книгу examples с www.sapienpress.com для "Windows PowerShell:TFM" = книга также содержит явные примеры.
Однако это не стоит вашего времени.С практической точки зрения, иметь дело с ACL файлов - это настоящая мука, и они невероятно сложны.Microsoft уже написала прекрасные инструменты для этого, такие как Cacls, и их гораздо проще просто использовать.
Теперь это все права доступа к ФАЙЛАМ - вы также можете быть заинтересованы в изменении прав доступа к самому ОБЩЕМУ РЕСУРСУ.Инструментом для этого является SUBINACL, и вы можете загрузить его из Microsoft.Смотрите также http://cwashington.netreach.net/depo/view.asp?Index=1127&ScriptType=vbscript.
Другие советы
В случае, если вы ищете ответ на этот вопрос, но используете Windows 7 (вместо Vista), как это было со мной, вам может быть интересно узнать, что разрешения можно установить в команде NET SHARE прямо сейчас.
Например,
NET ПОДЕЛИТЬСЯ фильмами =M:\Фильмы /ПРЕДОСТАВИТЬ:Всем`,ЧИТАТЬ
создаст общий ресурс и предоставит всем права доступа к нему только для чтения.
Вместо READ вы также можете использовать CHANGE или FULL.
По состоянию на WMF 4:
New-SmbShare –Name ShareName –Path C:\LocalFolder –FullAccess Username
В Углерод Модуль PowerShell имеет две функции, которые сделают это за вас: Установить-SmbShare и Предоставить-Разрешение.Я бы так и сделал скачай его и дайте ему попробовать.
Install-SmbShare -Name MyShare -Path X:\ -FullAccess 'Everybody' `
-Description 'My super-awesome file share!'
Grant-Permission -Identity Everyone -Permission FullControl -Path X:\
Отказ от ответственности:Я автор и создатель Carbon.Я рекомендую использовать этот модуль, потому что есть много предостережений и недостатков, на которые следует обратить внимание при установке общих ресурсов и предоставлении разрешений.Эти две функции позаботятся об этом за вас.