PracticU

Создание сетевых папок (Share) командной строкой cmd и Powershell

Без субтитровС субтитрами
PracticU › Курс техников Windows - Поддержка пользователей - Help Desk › Создание сетевых папок (Share) командной строкой cmd и Powershell
Словарь терминов:
командная строка - Текстовый интерфейс, в котором набирают команды операционной системе и получают ответ текстом.
CMD - Классическая командная строка Windows (Command Prompt) для запуска команд и программ в текстовом интерфейсе.
PowerShell - Среда командной строки и язык сценариев Microsoft для автоматического управления системами Windows и службами.
папка - Контейнер в файловой системе для организации файлов и других папок.
скрипт - Файл с последовательностью команд, которые выполняет интерпретатор, обычно для автоматизации задач.
путь - Строка, описывающая расположение файла или папки в файловой системе, либо адрес ресурса внутри сайта.
NTFS - Основная файловая система Windows, поддерживающая права доступа, шифрование и развитую структуру диска.
комментарий - Текст в коде, поясняющий его людям и не выполняемый компьютером.

Создание сетевых папок (Share) командной строкой cmd и Powershell
Лекция показывает, как создать, проверить и удалить общую папку командами PowerShell и cmd, чтобы настройку можно было повторять в скрипте.
PowerShell
1. Псевдонимы: старые команды DOS, например dir и md, работают как псевдонимы команд PowerShell (Get-ChildItem и mkdir), поэтому переучиваться не нужно.
2. Создание общей папки: командой New-SmbShare указывают путь к папке и имя общего ресурса. Имя ресурса для сети может отличаться от имени папки на диске.
3. Права администратора: создание общего ресурса требует повышенных прав. Из обычного окна PowerShell команда отказывает с ошибкой доступа.
4. Права на уровне ресурса: по умолчанию Everyone получает право чтения. Для записи общий ресурс переделывают с полным доступом для Everyone, а точные права задают в NTFS.
5. Удаление: Remove-SmbShare удаляет ресурс по имени. Для скрипта запрос подтверждения отключают параметром -Confirm:$false.
6. Скрипт: команды сохраняют в файл с расширением .ps1. Отдельную строку можно запустить и проверить отдельно. Строка с символом решётки становится комментарием и не выполняется.
cmd
7. net share: в командной строке та же задача решается командой net share с именем, путём и параметром /grant:everyone,full. Удаление делает параметр /delete.
8. PATH: если папка с программой добавлена в переменную PATH, программа запускается из любой папки, и расширение .exe можно не писать.
9. Пакетный файл: команды cmd сохраняют в файл .bat, который запускается двойным щелчком.
Итог
Один и тот же общий ресурс создаётся и удаляется и в PowerShell, и в cmd. Сохранённый скрипт позволяет повторить настройку автоматически.
Следующий урок курса: Как открыть порты для папок общего доступа и Ping

Содержание лекции: Создание сетевых папок (Share) командной строкой cmd и Powershell

  1. 00:00

    Автоматизация общих папок в PowerShell

  2. 00:37

    Alias-команды dir и mkdir

  3. 02:20

    Создание шары командой New-SmbShare

  4. 03:11

    Отказ в доступе без прав администратора

  5. 04:25

    Ошибка прав: Share и NTFS

  6. 05:31

    Полный доступ Everyone для шары

  7. 06:25

    Сохранение команд в скрипт ps1

  8. 07:36

    Удаление шары командой Remove-SmbShare

Расшифровка лекции: Создание сетевых папок (Share) командной строкой cmd и Powershell

Полный текст первых минут лекции «Создание сетевых папок (Share) командной строкой cmd и Powershell» из видеокурса PracticU – субтитры с временной меткой для каждого абзаца. Так можно прочитать и найти нужные темы ещё до начала обучения.

  1. 00:02

    Добро пожаловать на лекцию про скрипт. На этой лекции мы автоматизируем создание шеров. На данный момент у нас чистая винда и у нас нет шера и мы хотим сделать это автоматически.

  2. 00:14

    Мы зайдем сейчас в PowerShell и мы специально зайдем без прав администратора и посмотрим будет ли у нас проблема. Мы открываем PowerShell и мы хотим написать команды, которые создадут нам шеры автоматически, Чтобы мы их могли послать кому-то другому.

  3. 00:30

    Чтобы мы их могли запускать автоматом ночью. Сделать их как часть программы какой-то. То есть мы хотим создать скрипт, который создает шеры.

  4. 00:38

    Начнем с того, что мы хотим создать папку. И посмотреть, какие папки есть в диске C. У нас есть команда dir, наша старая команда со времен DOS.

  5. 00:48

    Но мы в PowerShell. И я не помню, как будет команда dir в PowerShell. Поэтому я делаю alias. Alias это ярлык, сокращенный путь.

  6. 00:56

    И я вижу то, что у нас есть alias на настоящую команду PowerShell getChildItem. То есть dir – это старая команда. Если бы я ее написал, она бы сработала, потому что у нее есть alias на настоящую команду.

  7. 01:09

    Также есть alias на команду md. md – это make directory в DOS. То есть я могу сделать mkdir. И mkdir – это уже сама команда PowerShell. То есть мы видим, что в PowerShell сделали alias.

  8. 01:22

    Мы делаем mkdir минус name, то есть я нажал tab, я написал минус и нажал tab, и теперь пишу имя папки. И говорю создать папку projectX по такому-то пути, то есть нам не надо писать все вручную, мы можем нажать tab, и он сам дописывает в PowerShell команды.

  9. 01:42

    Мы видим, что мы создали через командную строку папку, потрясающе. Кстати, кстати, эти aliases, они работают также на команды Linux, не только на DIR старого DOS, а также ls, в Linux есть команда ls, да, он делает тот же самый aliases на тот же самый get child item.

  10. 01:59

    Поэтому те, кто любит Linux и привык к Linux, могут писать ls и PowerShell их поймет. Так, давайте проверим, что действительно все сработало и у нас появилась действительно папка Project X.

  11. 02:10

    Так, в этой папке, конечно, нет сейчас общего доступа, она не сетевая папка, она простая обычная папка и у нее нет шера. Мы хотим сделать ее сетевой папкой, мы хотим ее расшарить, чтобы можно было к ней обращаться по сети.

  12. 02:27

    И для этого у нас есть PowerShell команда new smb share. Эти команды не надо помнить наизусть, вы всегда можете пойти в Google и посмотреть. И я нажал минус и нажимаю сейчас Tab.

  13. 02:37

    Видите, я нажимаю все время Tab. И листаю между всеми опциями, всеми возможностями, которые есть у этой команды. Добавочная информация, аргументами.

  14. 02:47

    И вижу, что здесь есть Path. Что шарить. Мы говорим ему расшарить вот такую вот папку. И я никогда не пишу ничего до конца.

  15. 02:54

    Я нажимаю все время Tab. Пишу одну, две, три буковки и нажимаю Tab. Если это не то, нажимаю еще раз Tab. Можно нажать Shift-Tab и он будет обратно идти в этом списке.

  16. 03:04

    всех возможных вариантов. И мы делаем name AAA. Я специально делаю глупое имя, чтобы вы поняли, что нет связи между имени в системе общего доступа в шерах и в имени физического. Но у нас есть проблема. Проблема это не имя AAA, а проблема, что у нас access denied. У нас отказ в доступе, потому что у нас нет прав администратора.

  17. 03:26

    Мы открыли PowerShell. Это окно, этот процесс без расширенных прав администратора и поэтому мы копируем эту команду чтобы запустить ее еще раз уже в PowerShelley с правами админа то есть тот кто не админ в этом компьютере не имеет права создавать папки общего доступа прекрасно мы еще раз запускаем эту же команду уже с

  18. 03:48

    правами администратора и мы видим что ошибки нет и он нам создал share создал общую папку под названием aaa и getSmbShare показывает, что действительно такая сетевая папка создана.

  19. 04:02

    Заметьте, на жестком диске она называется projectX, а для тех, кто идут по сети, она называется aaa. Давайте сделаем свойства и посмотрим, что в графическом интерфейсе мы действительно видим этот путь.

  20. 04:13

    Потрясающе! Мы с вами уже практически программисты стали. Кстати, вот эта идея всего PowerShell - это приблизить sysadmin к программированию. Так я хочу проверить, что у нас действительно все работает. Я создаю здесь какой-то файл и хочу обратиться к нашей папке через сеть то есть через сетевой

  21. 04:34

    доступ через шару через share и мы делаем окей и видим что действительно он работает но создать новый файл мы не можем у нас есть permission denied you need permissions тебе нужны права чтобы сделать это действие и try again попробовать еще раз не помогает у нас нет прав потому что в расширенных

  22. 04:52

    правах доступа в share у нас есть только право read everyone получил read почему everyone получил read потому что это настройки по умолчанию так давайте мы сейчас отменим этот share и сделаем право доступа заново заметьте что в ntfs у меня есть право но то что у меня в ntfs есть право мне не помогает потому что share мне не дал

  23. 05:13

    право ничего менять то есть я прохожу через оба ворот Я убираю галочку share this path, и он убирает этот share.

  24. 05:22

    То есть теперь у нас нет этой сетевой папки. Теперь мы можем сделать не usmb share, только в этот раз дадим ему другое имя, так чтобы мы видели, что что-то изменилось.

  25. 05:32

    Мы можем дать, кстати, нормальное имя, projectX, так принято делать, кстати. И теперь мы дадим права доступа. Только я не помню, как это делается, поэтому пишу минус и нажимаю tab.

  26. 05:43

    Заметьте, никогда не пишите команду до конца, чтобы не сделать ошибку. Если вы помните, пишите несколько букв. Если вы не помните, нажимайте tab. О, full access. Это то, что мне надо.

  27. 05:55

    Я пишу, дай full access everyone. Прекрасно. И он мне сейчас создает share заново. Мы же там галочку убрали, да? Мы его как бы стерли и создали заново.

  28. 06:05

    И теперь в sharing security, то есть security на уровне самого share, на уровне самого getware, мы видим, что everyone получил full control.

  29. 06:14

    Потрясающе. Это именно то, что я хотел, потому что я хочу раздавать права внутри NTFS, а не на уровне самого share. Так, что мы хотим? Мы теперь хотим сделать из этого скрипт.

  30. 06:25

    Вместо того, чтобы писать все эти команды в Notepad, у нас есть такой умный Notepad, называется ASE. Мы, видите, копируем эту нашу команду просто в умненький Notepad, который создан для PowerShell.

  31. 06:38

    Это обычный текстовой файл, просто такая среда разработки для PowerShell. Мы сохраняем этот файл на рабочем столе, давайте дадим ему какое-то имя, главное давать имена, чтобы мы сами поняли, что в этом файле происходит через полгода.

  32. 06:53

    У нас будет каждый день новые задачи, каждый день новые файлы, и нам надо давать имена, у которых есть смысл и значение, чтобы мы сами себя не запутали. Так, я даю ему my new share script, это будет мой скрипт, заметьте у него окончание ps1, я хочу вам подчеркнуть, что это обычный текстовой файл.

  33. 07:12

    Мы можем его открыть, например, с помощью notepad, обычного блокнота. И мы видим, что это обычный простой текстовой файл, не более того.

  34. 07:22

    Но вместо того, чтобы писать его в этом блокноте и делать ошибки, у нас есть такой умный блокнот для PowerShell. То есть я прорабатываю команды в командной строке, а потом копирую их в файл скрипта.

  35. 07:35

    Так, давайте сейчас я вам покажу, как удалить этот share. Есть команда remove smb share. Очень удобно, что я нажимаю Tab, он мне дописывает.

  36. 07:43

    Name, даю имя Шера, Name Project X. И видите, в PowerShell он сейчас должен будет удалить вот это вот имя. Заметьте, это имя Шера, а не имя пути. Опа, он у меня спрашивает, ты уверен, что ты хочешь удалить этот Шер?

  37. 07:58

    Это прекрасно, что он меня спрашивает, но во время скрипта это мне не подходит. Мне же надо автоматическую систему сделать, чтобы скрипт автоматом работал. Поэтому я делаю Ctrl-C и дописываю опцию confirm подтверждение, двоеточие, переменная через $false.

  38. 08:16

    То есть не надо подтверждать ничего, просто сделай команду и он ее делает, нет ошибки. И теперь getSmbShare показывает мне, что шера действительно нет.

  39. 08:26

    То есть removeSmbShare, удалил этот шер и эта команда сработала и мы ее копируем в наш блокнотик. Так, где наш файл скрипта? Вот мы его открываем.

  40. 08:39

    И заметьте, этот блокнот, видите, он мне синим цветом подкрашивает команды правильные, фиолетовым, переменной и красным, очень удобно.

  41. 08:46

    Я могу взять одну команду и запустить только ее, вот я ее обозначил и запустил. Теперь я могу дописать еще какую-то команду, например, getSmbShare, и ее тоже покрасить синим, обозначить ее, выделить ее, и

Полный курс: Курс техников Windows

Предыдущая лекция: Общий доступ к принтеру по сети в Windows 10

Следующая лекция: Как открыть порты для папок общего доступа и Ping

Похожие лекции из других курсов

  • PowerShell Versions
  • Meterpreter и Powershell
  • OpenSSL CMD - IIS Windows 10
  • создание проекта

Другие курсы этого направления

  • Курс системных администраторов - MCSE / MCSA / MCTIP
  • Системный администратор - Учимся за 3 минуты
  • Собеседование - Системный администратор