скрипт - B-blog.info
19Jan
Written by Super User.
Добавление имен компьютеров, на которые пользователям разрешен вход - достаточно постоянная задача, причем частенько появляется необходимость добавить компьютер сразу всем пользователям домена.
Вот скрипт, который выполняет описанную задачу (причем скрипт не трогает пользователей, которым разрешен вход на все компьютеры):
23Jan
Written by Super User.
В Microsoft SQL Server 2005/2008/R2 усечение лога транзакций происходит совсем не так, как это было в 2000-й версии.
23Jan
Written by Super User.
Вот задачка...
Есть несколько доменов AD с именами типа domain1.domain.local, domain2.domain.local. В одном из доменов есть группа "Group", членами которой являются пользователи из других доменов, а также группы - тоже из разных доменов.
Надо посчитать, сколько пользователей из каждого домена находится в группе.
23Jan
Written by Super User.
Здравствуйте!
Продолжаю публикации скриптов. Сегодняшний наш пациент был разработан в процессе создания биллинга звонков. У каждого юзера в Active Direcotry есть поле, в котором прописан его внутренний номер телефона. Этот же номер фигурирует в биллинге, но нам конечно хочется видеть не что-то вроде "1316", а "Иванов Владислав Александрович".
В сети полно примеров и скриптов, позволяющих достать пользователей из AD в csv-файл. По логике, мы можем потом взять этот csv и импортировать в MS SQL с помощью SSIS-скриптов. Однако это мне это не понравилось, т.к. на выходе у нас получается аж два скрипта, работающих на разных технологиях + один промежуточный файл. И это только для одного домена AD. А у меня их 14.
23Jan
Written by Super User.
Как и любые скрипты, необходимо иметь возможность запускать Powershell-сценарии не вручную, а по расписанию.
Например, в заметках, указанных внизу статьи (по Lync Server), так и необходимо делать.
Естественно, на помощь приходит планировщик задач Windows, однако как все-таки заставить запуститься файл *.ps1?
23Jan
Written by Super User.
Иногда, когда изучаешь софт, бывает необходимо найти некоторое значение в базе данных Microsoft SQL Server.
Вот вам скрипт, который выполняем в Query Editor над базой. В строчке "set @search_string = 'what.you.are.searching.for';" в кавычках пишем, что мы ищем.
23Jan
Written by Super User.
Обычно я генерирую пароли для пользователей, закрывая глаза и нажимая кнопки на клавиатуре. Сейчас уже это делать необязательно - генерировать можно скриптом на Powershell:
23Jan
Written by Super User.
Как упростить и сделать более наглядным взаимодействие с правами доступа на файлы и их наследованием? Воспользуйтесь популярным и полезным скриптом File System Security PowerShell Module.
13May
Written by Super User.
Когда у вас есть сразу несколько серверов WSUS с центральным корневым, бывает очень проблематично получать отчеты об обновлениях рабочих станций.
Мне был нужен скрипт, который покажет, что на каких-то компьютерах есть не установленные одобренные обновления. Такой отчет есть в консоли WSUS, он называется Computer Tabular Status for Approved Updates.
Но это достаточно трудоемкая задача, когда у вас 5-10-15 серверов.
19May
Written by Super User.
Неожиданно для меня, Veeam Backup & Replication начал выдавать ошибку создания резервных копий некоторых моих виртуальных машин. Как оказалось, проблема заключалась в том, что Veeam не мог запустить pre-freeze скрипт для остановки сервисов.
Дальнеший разбор полетов показал, что проблема заключалась в том, что UAC не давал прав на выполнение команд. Если запустить bat-файл под расширенными правами, остановка и старт служб отрабатывал без проблем.
22May
Written by Super User.
В одной моей задаче надо было написать скрипт для отправки SMS-сообщений. У нас уже был настроен сервер для отправки SMS на Linux. Оставалось только научиться отправлять команды в Linux через SSH.
Первоначально я пытался использовать модуль SSH-Session, но в нем были какие-то ошибки при отправке команд. Поэтому я остановился на Posh-SSH.
Устанавливаем модуль:
14Oct
Written by Super User.
Задача ясна из названия - надо удалить старые файлы из какой-нибудь папки. В жизни полно ситуаций, когда надо выполнять такую процедуру. Например - удаление старых бэкапов.
22Jan
Written by Super User.
Как известно, в Lync есть своя адресная книга, которая скачивается клиентами. По умолчанию, закачка или обновление адресной книги в клиентской программе происходит в первые 60 минут после запуска программы. В целом, в нашей компании это оказалось плохим решением, точно так же, как и тот факт, что измененные в Active Directory пользовательские данные попадают на конечные компьютеры с достаточно большой задержкой.
Последствия такого поведения:
16Feb
Written by Super User.
При апгрейде контроллеров домена или их удалении\добавлении, всегда появляется необходимость изменить DNS-сервера в настройках сетевых интерфейсов. Там, где сетевые настройки выдаются через DHCP - проблем нет. А там, где все настроено вручную, придется заходить на каждый сервер и менять руками. Это долго и неудобно.
23Mar
Written by Super User.
Иногда бывает нужно отпарсить какой-нибудь сайт или большую веб-страницу. Google предлагает множество программ и целых сложных комплексов для решения этой задачи, но я хочу показать, как это достаточно просто можно делать в Powershell.
В Powershell есть специальный коммандлет Invoke-WebRequest, который собственно и разбирает HTML-страницу на тэги и содержимое. На выходе этот коммандлет выдает объект страницы с полем ParsedHtml. К этому полю можно применять методы по выборке нужных данных.
Допустим, что вам нужно выбрать все ссылки на странице. Вот как это работает.
30Mar
Written by Super User.
В бесплатной версии Microsoft SQL Server - Express - нет возможности настроить резервное копирование баз данных по расписанию. Однако вы можете настроить бэкап с помощью Powershell-скриптов и планировщика задач Windows.
Ниже - пример скрипта, как это делаю я. Скрипт не удаляет старые бэкапы. Но почитайте мою статью Удаление старых файлов и папок на Powershell, она вам поможет. И еще - Запускаем Powershell-скрипты в планировщике задач.
Обратите внимание на выделенные строки - там надо прописать ваш путь к бэкапам и инстанс SQL-сервера.
05Jul
Written by Super User.
При тестировании отказоустойчивой конфигурации Microsoft SQL Server 2012 (подробнее: Пошаговое развертывание AlwaysOn - MS SQL 2012) мне нужно было сгенерировать массовую запись данных в базу.
Т.к. я совсем не знаю T-SQL, решил написать небольшой скрипт на Powershell для решения этой задачи.
Нам понадобится:
- Непосредственно база данных
- Таблица в ней для службных нужд
07Mar
Written by Super User.
Вот мой скрипт, который умеет удаленно перезагружать службы Windows с помощью Powershell. Скрипт умеет пинговать машины перед тем, как попытаться перегрузить службу.
Т.к. у нас заблокирован ICMP/ping между ландшафтами разработки, я использовал WMI-запросы, чтобы определить, запущена ли удаленная машина.
20Apr
Written by Super User.
Вот скрипт, который умеет искать сервера в вашем домене, на которых установлен Microsoft SQL Server.
Скрипт умеет обрабатывать выключенные\неотвечающие сервера с помощью пингов WMI, что полезно, когда ICMP по какой-то причине заблокирован. Кроме этого, тут используется Powershell Remoting, поэтому сначала удостоверьтесь, что он включен.
23Jun
Written by Super User.
Когда вы строите свою инфраструктуру в облаке Azure, используя IaaC (Infrastructure as a Code) подход, иногда вам придется некоторые ваши виртуалки переразворачивать. От этого никуда не денешься, учитывая, в общем-то, специфику облака: что-то не работает? - передеплой. И вот иногда бывает так, что сталкиваешься с проблей переразвертывания, когда парни из Microsoft обновляют образы для виртуалок новыми версиями систем. Например - SQL server 2014 уже не поставляется с SP1. В итоге вам надо как-то быстро найти список новых ID для образов, чтобы обновить свои ARM или Powershell-скрипты.
Я написал небольшой скрипт, который поможет в этом.