Общий доступ к папке и настройка разрешений в PowerShell

StackOverflow https://stackoverflow.com/questions/399971

Вопрос

Мне нужен скрипт для запуска в 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

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

В Углерод Модуль 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.Я рекомендую использовать этот модуль, потому что есть много предостережений и недостатков, на которые следует обратить внимание при установке общих ресурсов и предоставлении разрешений.Эти две функции позаботятся об этом за вас.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top