Управление сетевыми папками с помощью PowerShell

Powershell создать папку на удаленном компьютере

По просьбе читателей, а так же с учётом востребованности (судя по сообщениям форумов и ньюсгрупп) я нашёл время переписать скрипт ShareUtils.ps1 с поддержкой работы с удалёнными машинами и попутно пофиксив недочёты, которые были найдены за время эксплуатации предыдущей версии скрипта. Предыдущая версия опубликована здесь: Управление безопасностью общих папок (сетевых шар) в PowerShell (часть 4)

Технический функционал изменился только возможностью работы с удалёнными компьютерами, но синтаксис был изменён (а так же удалены лишние функции) по аналогии с PrinterUtils и имеет примерно следующий вид:

  1. New-Share –Computer –Name –Path –Description
    где Computer – имя или IP адрес компьютера, на котором необходимо расшарить папку. (не обязательный параметр). Если не указан, используется текущий компьютер.
    Name — сетевое имя для папки;
    Path — путь к физической папке;
    Description описание к сетевой папке. При наличии пробелов — заключить в кавычки (не обязательный параметр);
  2. Remove-Share –Computer –Name – отменяет расшаривание на папке. Сама папка не удаляется.
    где Computer – имя или IP адрес компьютера, на котором нужно отменить расшаривание папки. (не обязательный параметр). Если не указан, используется текущий компьютер.
    Name — сетевое имя папки;
  3. Get-Share –Computer –Name – получает основные сведения и списки DACL Share Permissions с указанных или всех сетевых папок.
    где Computer – имя или IP адрес компьютера, с которого нужно получить сведения о сетевых папках. (не обязательный параметр). Если не указан, используется текущий компьютер.
    Name — имя сетевой папки (не обязательный параметр). Если не указан, то выбираются все сетевые папки с типом Disk Drive (в которые системные шары не входят).
  4. Set-SharePermission –User –AceType –AccessMask – устанавливает единственный Share Permission ACE для указанного в аргументах пользователя.
    User — имя пользователя/группы, которой предоставляется доступ;
    AceType — тип доступа. Этот параметр должен иметь одно из значений Allow/Deny;
    AccessMask — маска доступа. Этот параметр должен иметь одно из значений FullControl/Change/Read;

И, собственно, сам код:

Categories: PowerShell | ACL | Shares | WMI
Posted at: 04.03.2009 16:22 (GMT+3) by Vadims Podāns | Permalink | Comments (3)

Создать сетевую папку Windows с помощью PowerShell

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

Get-SmbShare список общих сетевых папок на компьютере

На этом компьютере открыт доступ к административным общим ресурсам и к каталогу Distr.

Чтобы создать новую общую сетевую папку, выполните команду:

New-SmbShare -Name Scripts -Path C:PS -FullAccess winitprospb_admins, winitpromsk-man01$ -ChangeAccess «winitpromsk-man01_script_rw» -ReadAccess “$env:USERDOMAINdomain users” –description “Collection of management PowerShell scripts”

В этом примере мы создали сетевую папку и предоставили права доступа доменным группам и одному компьютеру.

Дополнительно при создании папки можно использовать такие параметры:

  • -CachingMode [None|Manual|Programs|Documents|BranchCache] – задать режим кэширования для офлайн доступа (автономных файлов);
  • -EncryptData $True – включить шифрование SMB трафика;
  • -FolderEnumerationMode [AccessBased | Unrestricted] – включить опцию перечисления на основании доступа (Access-based Enumeration). Позволяет скрыть в сетевой папке объекты, на которых у пользователя нет доступа;
  • -CompressData $True – включить сжатие при передаче файлов по SMB;
  • -ConcurrentUserLimit 50 – позволяет ограничить количество одновременных подключений к папке (по умолчанию 0, не ограничено);
  • -Temporary – создать временную сетевую папку (пропадет после следующей перезагрузки Window).

Полный список настроек сетевой папки можно вывести:

Get-SmbShare -Name scripts| select *

вывести настройки сетевой папки с помощью PowerShell

Чтобы удалить сетевую папку:

Добавить в список доступа сетевой папки разрешения на запись для указанного пользователя:

Grant-SmbShareAccess -Name Scripts -AccountName «winitprokbuldogov» -AccessRight Change –force

Вывести текущий список доступа к общей папке:

Get-SmbShareAccess - список разрешений для доступа к сетевой папке

Удалить группу из списка доступа:

Revoke-SmbShareAccess -Name Scripts -AccountName Everyone –Force

Принудительный запрет на доступ к общей папке (запрещающее разрешение имеет более высокий приоритет):

Block-SmbShareAccess -Name Scripts -AccountName winitproExtUsers -Force

В большинстве случаев на уровне сетевой папки предоставляют доступ Everyone RW, а фактически права доступа к папке определяются на уровне NTFS.

Текущий NTFS ACL для сетевой папки можно получить с помощью команды:

Чтобы изменить права доступа, используйте Set-Acl (подробнее про управление NTFS разрешениями с помощью PowerShell).

PowerShell Создать папку на удаленном сервере

Следующий script не добавляет папку на мой удаленный сервер. Вместо этого он помещает папку на My machine! Почему он это делает? Каков правильный синтаксис, чтобы добавить его?

Enter-PSSession может использоваться только в интерактивном режиме удаленного взаимодействия. Вы не можете использовать его как часть блока script. Вместо этого используйте команду Invoke-Command:

Решение

Создание синхронизируемой папки
Коллеги, вот такое у меня задание 1 Необходимо у каждого пользователя на рабочем столе создать.

создание общей папки с определнными правами
Добрый день начну с предыстории. Организовал резервное копирование на тестовом стенде (один комп.

Создание общей папки для нескольких компьютеров
есть сервак на windows 2003 на нём БД и файлы и нужно создать папку и открыть доступ для некоторых.

Создание копии папки со случайным именем и копирование ее (папки) в заданный раздел
Подскажите как сделать в .bat создание копии папки со случайным именем и копирование ее (папки) в.

Подключение локальной папки как диска

Отобразить локальную папку можно с помощью команды New-PSDrive . Следующая команда создает локальный диск P: , корневым каталогом которого является локальный каталог Program Files, отображающийся только в сеансе PowerShell:

Как и при использовании сетевых дисков, диски, отображенные в Windows PowerShell, немедленно становятся доступными оболочке Windows PowerShell. Чтобы создать подключенный диск, отображающийся в проводнике, нужен параметр -Persist . Но с этим параметром можно использовать только удаленные пути.

Как создать несколько папок с помощью PowerShell

Как и в случае с командной строкой, мы щелкнем значок Windows на клавиатуре и введем PowerShell в поле поиска. Щелкните Windows PowerShell и откройте его.

Как и CMD, PowerShell по умолчанию откроется вместе с вами в папке пользователя, но да, вы также можете изменить каталог здесь.

Измените Каталог на Документы или любой другой каталог, который вы хотите выбрать. Введите следующее и нажмите Enter:

Введите команду и нажмите Enter:

«альфа», «бета», «гамма», «дельта» | %

Вы увидите вновь созданные папки!

СОВЕТ: Вы также можете создать несколько папок одновременно с помощью Excel и сэкономить свое время.

Создание нескольких папок с помощью командной строки и PowerShell

.

Оцените статью
Fobosworld.ru
Добавить комментарий

Adblock
detector