Contents of this directory is archived and no longer updated.

Как вы знаете, я в своё время писал скрипты для управления сетевыми папками (Shares) и наконец-то решил оформить это всё в человеческий модуль PowerShell.

Данный модуль позволяет вытворять следующее:

  • Получать список сетевых папок на локальном и/или удалённых компьютерах;
  • Расшаривать новые папки;
  • Удалять сетевые папки (останавливать шаринг конкретной папки без удаления фактического содержимого);
  • Добавлять/устанавливать/удалять права доступа к сетевой папке.

Вот инструкции по установке:

ZIP архив содержит папку с файлами, которую нужно распаковать в одну из папок:

  1. %USERPROFILE%\Documents\WindowsPowerShell\Modules (модуль будет доступен только для текущего пользователя)
  2. %WINDIR%\System32\WindowsPowerShell\v1.0\Modules (модуль будет доступен для всех пользователей в системе)
  3. Если один из указанных путей не существует, его придётся создать вручную.

Убедитесь, что архив распакован правильно и вы должны получить примерно такой вывод в консоли:

PS C:\> Get-Module -ListAvailable

ModuleType Name                      ExportedCommands
---------- ----                      ----------------
Manifest   ShareUtils                {}


PS C:\>

Если вы не получаете таких же результатов, значит вы что-то сделал не так. Убедитесь, что папка ShareUtils расположена в указанном пути: "%USERPROFILE%\Documents\WindowsPowerShell\Modules"

Импорт модуля в сессию:

PS C:\> Import-Module ShareUtils

Примечание: консоль должна быть запущена в elevated mode с правами локального администратора. Если модуль запущен с правами стандартного пользователя (или не в elevated mode), вы получите гневное сообщение и модуль работать не будет. Для просмотра доступных функций можно выполнить следующую команду: 

PS C:\> Get-Command -Module shareutils

CommandType     Name                                                Definition
-----------     ----                                                ----------
Filter          Add-SharePermission                                 ...
Function        Get-Share                                           ...
Function        New-Share                                           ...
Filter          Remove-Share                                        ...
Filter          Remove-SharePermission                              ...
Filter          Set-Share                                           ...
Filter          Set-SharePermission                                 ...


PS C:\>

Каждая функция имеет свой собственный хелп и для получения справки по конкретной функции достаточно набрать:

Get-Help <FunctionName>

И, собственно, ссылка на сам зип:


Share this article:

Comments:

Xaegr

Еще не смотрел, обязательно воспользуюсь при возможности. Но уже несколько комментариев есть ;) 1. Модуль можно поместить в любую папку, просто для импорта придётся указывать полный путь к нему. Думаю полезно это упомянуть. 2. Где Get-SharePermission? Как мне кажется, его очень не хватает. Сейчас как я понимаю, ты отдаешь разрешения в качестве свойства объекта шары? 3. Зачем права администратора то? Понятно для создания шар, и т.п, но для просмотра всё должно быть доступно и пользователям.

Vadims Podāns

1) Вобщем-то можно и в любую. Просто тогда не будет его видно в Get-Module -ListAvailable. 2) да, сейчас я его отдаю в качестве свойства объекта шары. 3) я подумаю над этим в последующих релизах. Вполне возможно, что в след.версии буду делать обёртку над стандартным объектом WMI (Win32_share), но там нужно решать специфичные проблемы, которые я пока не знаю как решить покрасивее.

www.google.com/profiles/GMaxSoft

"You must have Administrator privligies" последнее слово надо бы поправить. и насчёт must. в этом случае все же лучше выдавать ошибку при использовании функций, где оно must, а не при загрузке модуля. ведь даже help не изучить.

Vadims Podāns

Ок, я постараюсь исправить этот момент.

Денис

А удалённое использование возможно через invoke-command или через enter-pssession?

Vadims Podāns

Пока нет, не поддерживается.

www.google.com/accounts/o8/id?id=AItOawmHgwY1Asg1JrRZcBCqphtthgfZtpgJ8eY

Hi Trying to download the shareutils.zip module but cannot connect to the webserver. If you can email me a copy that would be fantastic. Do you have a printerutils module as well? Thanks Alan

Comments are closed.