Сценарии PoS -> SEO программы для веб-мастера -> Как запустить скрипт .ps1

PowerShell для веб-мастеров

PowerShell — это оболочка командной строки и скриптовый язык, основным назначением которого является системное администрирование под управлением ОС Виндовс. Начиная Windows 7, PowerShell входит в состав ОС как неотъемлемый компонент системы, хотя установить его на компьютер можно, начиная с версии Windows XP SP3.

PowerShell является прекрасным средством для тех, кто любит автоматизировать различные процессы Windows и программ, работающих под управлением этой операционной системы. По своему удобству он заметно превосходит другие языки программирования, в случае если вам требуется автоматизация мелких однотипных задач. Во-первых, код скрипта PowerShell хранится в файле с расширением .ps1 и при необходимости в него легко можно внести правки при помощи обычного текстового блокнота, не тратя время на перекомпиляцию приложения, как это потребовалось бы для внесения изменений функционала программы, написанной, например, на Delphi. Во-вторых, для написания скриптов не требуется устанавливать никаких дополнительных программ – достаточно воспользоваться имеющимся компонентом Windows.

И, в-третьих, для запуска сценариев PowerShell не требуется никакого дополнительного софта. Например, вы можете создать скрипт, выполняющий определенную задачу (постинг постов в паблик ВК, к примеру), добавить его в планировщик заданий, после чего система будет самостоятельно выполнять сценарий PowerShell в определенное время. Запуск по расписанию в Виндовс скриптов PHP, Perl или Python требует установки дополнительного софта и более сложных манипуляций.

Если вы работаете на Windows XP SP3 (такие пользователи остались еще? 🙂 ), скачать PowerShell можно с сайта Microsoft.com (http://www.microsoft.com/ru-ru/download/details.aspx?id=16818).

Начало работы с Windows PowerShell: как запустить сценарий .ps1

Работать с PowerShell можно как в двух приложениях powershell.exe, выглядящим как командная строка, или в powershell_ise.exe, имеющим графический интерфейс. Чтобы запустить любую из этих программ, достаточно нажать Пуск –> Выполнить, вбить powershell.exe или powershell_ise.exe в появившимся powershell.exeокне и нажать ОК.

Так выглядит powershell.exe:

powershell.exe

А так powershell_ise.exe:

powershell_ise.exe

Все файлы сценария PowerShell имеет расширение .ps1. Если вы попытаетесь запустить их двойным нажатием кнопки мыши, он просто откроется в текстовом блокноте. Это специальная защита от случайного запуска, который может причинить вред системе. Для запуска скрипта необходимо нажать на нем правой кнопкой мыши и в появившемся диалоге выбрать пункт «Выполнить с помощью PowerShell».

Изначально система Windows настроена таким образом, что выполнение скриптов PowerShell в ней запрещено, что опять же связано с защитой системы. Узнать действующую систему ограничений по запуску скриптов PowerShell можно, выполнив команду:

Get-ExecutionPolicy

В результате вы получите один из нижеследующих ответов.

Чтобы разрешить запуск сценариев, понизьте политику до RemoteSigned командой (разумеется, консоль PowerShell должна быть запущена с правами Администратора):

Set-ExecutionPolicy RemoteSigned

Set-ExecutionPolicy RemoteSigned

Если этого не сделать, то при любой попытке запустить скрипт .ps1 будет появляться сообщение

Не удается загрузить файл C:\ImageSize.ps1, так как выполнение скриптов запрещено для данной системы. Введите "get-help about_signing" для получения дополнительных сведений.
+ CategoryInfo : NotSpecified: (:) [], ParentContainsErrorRecordException
+ FullyQualifiedErrorId : RuntimeException

Иногда одной команды Set-ExecutionPolicy RemoteSigned оказывается недостаточно. В этом случае вам может помочь следующие действия:

Включить выполнение сценариев PowerShell

Практическое применение PowerShell

Возможно, у тех, кто почти не знаком с PowerShell и случайно наткнулся на эту статью на seomethod.ru, может возникнуть вопрос «Это же вроде как web-ресурс про создание сайтов и заработок на них, причем тут язык для администрирования Windows?» Однако если вы познакомитесь с PowerShell поближе, вы увидите, как много возможностей для автоматизации предоставляет этот язык программирования web-мастеру, SEO-оптимизатору и даже SMM-щику.

С помощью PowerShell, а именно командлета ConvertFrom-Json, можно легко конвертировать формат JSON, что позволяет организовать работу с API всех крупных социальных сетей, включая ВКонтакте, Twitter, Facebook, Youtube, Instagram и другие. Это дает широкие возможности для автоматического ведения своей страницы, паблика, включая посты по расписанию, вечный онлайн, а также парсинг людей по критериям, чистка стены паблика от спама, рассылка приглашений и даже создание ботов, общающихся с написавшими ему пользователями в личке.

Командлет Invoke-WebRequest позволяет легко разбирать содержимое web-страниц, избегая необходимости создавать сложные регулярные выражения, как часто приходится при работе с PHP. Обратившись к HTML странице, командлет Invoke-WebRequest вычленяет из ее содержимого ссылки (links), веб-формы (forms), изображения (images), скрипты (scripts) и другие элементы. Благодаря этому, для получения списка всех необходимых элементов любого web-документа, например, ссылок или изображений, вам понадобится сценарий, состоящий всего из трех строк:

$SiteAdress = "http://seomethod.ru"
$HttpContent = Invoke-WebRequest -URI $SiteAdress
$HttpContent.Links | Foreach {$_.href }

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

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

$HttpContent = Invoke-WebRequest "http://seomethod.ru"
$HttpContent.StatusCode

Используя Invoke-WebRequest, вы можете получить доступ к любой web-форме на странице и залогиниться на сайте, чтобы спарсить нужную информацию оттуда.

PowerShell включает множество команд по работе со строками и позволяет осуществлять различные работы с имеющимися у вас ключевиками – очистку от повторов, удаление лишних пробелов и т.д.

Это лишь краткий перечень возможностей для автоматизации рабочего процесса web-мастера или сеошника. В меню справа вы найдете еще полезные сценарии на PowerShell, облегчающие работу с социальными сетями и сайтами, а также распространенные ошибки, возникающие при начальном знакомстве с PoS.


Меню сайта

PowerShell для веб-мастеров
PowerShell для веб-мастеров