Рубрика «powershell» - 19

в 9:02, , рубрики: powershell, translate, tutorial

Когда вы используете Try/Catch/Finally, команда которая будет выполняться помещается в блок Try. Если произойдет ошибка в процессе выполнения команды, то она будет записана в переменную $Error, и выполнение скрипта перейдет к блоку Catch.
Читать полностью »

Рабоче-крестьянское резервное копирование под Windows - 1

Постановка задачи

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

Пусть задача будет звучать следующим образом:

  1. Необходимо организовать автоматическое резервное копирование определенных файлов компьютера на отдельный носитель.
  2. Компьютер работает под управлением Windows версий 7 / 2008 или более поздней.
  3. Объем данных большой, поэтому копирование должно поддерживаться как полное, так и дифференциальное.
  4. Д.б. возможность копировать любые файлы, в т.ч. системные, заблокированные на чтение и т. п.
  5. Сторонним платным софтом пользоваться категорически не хочется (ну, допустим, мы стеснены в средствах, а эти ваши торренты — не наш путь! Или религия не позволяет. Или миллион других причин.), а лучше вообще обойтись без любого стороннего софта, пользуясь лишь возможностями ОС .

Немного подумав, еще расширим список хотелок:

  1. Как продолжение предыдущего пункта, формат архива также должен быть открытым и распространенным, чтобы в случае чего его без проблем открыть откуда угодно с помощью чего-угодно
  2. Более того, он должен быть таким, чтобы из любого, даже дифференциального архива, можно было бы без труда вытащить любой файл, не распаковывая для этого весь архив.
  3. Глубина архивации должна настраиваться (что называется, backup rotate).
  4. Было бы неплохо также с архивом сохранять дескрипторы безопасности NTFS.
  5. И вообще, хочется максимальной расширяемости и настраиваемости, если завтра возникнет желание нагородить дополнительный функционал.

Что ж, требования сформулированы, дело за малым – спланировать и реализовать всё остальное.
Читать полностью »

Здравствуйте читатели.

Недавно был опубликован урок по сбору информации о рабочих станциях с использованием PowerShell. В комментариях были рекомендации по реализации некоторого функционала с помощью WMI. Это напомнило мне о некоторых нюансах функционирования WMI на серверах и рабочих станциях, с которыми пришлось столкнуться на работе.
Читать полностью »

Привет! Как большой поклонник и активный практик PowerShell я часто сталкиваюсь с тем, что мне необходимо повторно использовать ранее написанные куски кода.
Собственно, для современных языков программирования code reuse — это обычное дело.
PowerShell в этом вопросе не отстает, и предлагает разработчикам (написателям скриптов) сразу несколько механизмов обращения к написанному ранее коду.
Вот они по возрастанию сложности: использование функций, дот-сорсинг и написание собственных модулей.

Рассмотрим их все порядку.

В качестве решения лабораторной задачи напишем скрипт, который расширяет раздел C: до максимально возможного размера на удаленном Windows-сервере LAB-FS1.
Такой скрипт будет состоять из одной строки и выглядеть так:

Invoke-Command -ComputerName LAB-FS1 -ScriptBlock { "rescan", "select volume=c", "extend" | diskpart }

Работает это так. Сначала PowerShell устанавливает удаленное соединение с сервером LAB-FS1 и запускает на нем локально набор команд, заключенный в фигурные скобки параметра -ScriptBlock. Этот набор в свою очередь последовательно передает команде diskpart три текстовых параметра, а diskpart выполняет (по очереди) повторное сканирование разделов, выбор раздела C: и расширение его до максимально возможного размера.

Advanced PowerShell vol. 1: повторное использование кода - 1

Как видите, скрипт крайне простой, но в то же время крайне полезный.
Рассмотрим, как правильно упаковать его для повторного использования.
Читать полностью »

Сбор информации о рабочих станциях через Powershell.

Этот пост будет посвящен работе написанию скриптов на Powershell. Далее я предполагаю, что читатель уже сталкивался с написанием скриптов в windows среде. Итак:

Была у меня задача собрать некоторую информацию по пользовательским рабочим станциям в организации. Все станции в AD и пользователи тоже, что упрощает задачу. Есть контейнер, где находятся все станции, значит нужно пройтись по всем, взяв интересующую информацию, и отобразить результат. Раз так, то пишем скрипт. При написании, я стараюсь делать скрипт по частям. ИМХО для меня так проще и понятнее. Читать полностью »

Всем привет!
Это моя первая публикация, надеюсь, что в дальнейшем буду писать часто.
Если что-то неправильно оформил, поправьте, я исправлю как надо.

В работе пришлось столкнуться с интересной особенностью работы DFS Replication. И хотя сам рассматриваемый вопрос не нов, набить на нем шишки могут многие.

Итак, у нас есть стабильно работающая среда, в которой успешно настроены и работают DFS-репликации. Создана репликационная группа, в нее добавлены все нужные серверы, топология корректна, расписание тоже, все хорошо… пока однажды новые файлы, добавленные в реплицируемую папку не перестают копироваться на удаленные серверы.

Для примера я сделал тестовую среду, в которой всего два сервера — LAB-DC1 и LAB-FS1. На каждом из них есть папка C:DFSR, между которыми и должна проходить репликация.

Копируем в эту папку на LAB-DC1 два тестовых файла и видим, что на второй сервер отреплицировался только один.

image

Почему?
Читать полностью »

PowerShell – это один из основных инструментов, который может использовать системный администратор для выполнения настройки и для управления доменной сетью. Часто у системного администратора возникает необходимость удаленно подключиться к серверу и выполнить на нем определенные задачи. Конечно, можно использовать Remote Desktop, но этом случае администратор будет ограничен – не всегда можно легко и быстро удаленно подключиться к компьютеру, не всегда под рукой есть удобный компьютер. В этой статье я расскажу вам о возможности удаленного подключения с использованием PowerShell Web Access.

PowerShell Web Access: управление серверами из браузера

Читать полностью »

Как и обещал в первой части, за которую я успешно получил инвайт в песочнице, в этой заметке я покажу как подключить сетевые МФУ Kyocera M2035dn, Xerox WorkCentre 3615 и 6505DN, а в конце статьи добавлю небольшой бонус с которым любой скрипт связанный с сетью становится лучше.

Автоматическое подключение сетевых МФУ с возможностью сканирования [Часть 2]

Как бы небыли прекрасны гомогенные инфраструктуры, пусть даже в части принтеров и мфу, реальность зачастую ставит свои условия. В то время как пользователи сами в полный рост подключали и успешно сканировали с некогда проблемных МФУ HP, в компанию приехал японский гость — Kyocera M2035dn.

Kyocera M2035dn

Приехал как всегда не в мое уютное админское логово, а сразу на объект и как и мфу от HP, в глаза его я, если честно, даже не видел.
Первым делом качаем драйвер и смотрим содержимое… ба, знакомые все люди:

Автоматическое подключение сетевых МФУ с возможностью сканирования [Часть 2]

Есть пометка о том, что подключение сетевое (network) и есть ID! Читать полностью »

Кто, если не ты? Когда, если не сейчас?

Jump Start в PowerShell (часть II)

В предыдущей части мы научились запускать PowerShell, разобрались с политикой выполнения сценариев. Поняли, что такое командлеты, знаем, как передавать их по конвейеру и как получить их свойства. Узнали, что PowerShell имеет огромный Help.

В этой части мы разберёмся с переменными, узнаем, что они за типы и как к ним обращаться, как их сравнивать и выводить всевозможными способами. Обязательно разберёмся с циклами и напишем несколько функций.
Читать полностью »

Приветствую!
Недавно решил добавить записи «типа A» и «CNAME» на DNS сервер с помощью PowerShell.
Открыл консоль, выполнил команду

Add-DnsServerResourceRecordA -IPv4Address 192.168.1.101 -Name tomsk -ZoneName sales.contoso.com -CreatePtr

И каково же было моё удивление, когда я увидел сообщение о том, что «Зона sales.contoso.com не найдена на сервере», хотя я ее создал 30 секунд назад.
Особенности работы DNS Windows Server 2012R2 и PowerShell
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js