Есть несколько различных способов запуска скрипта, ниже приведены основные:

  1. Запустить оболочку PowerShell и в ней запустить скрипт (ввести путь до файла и имя файла, например, так: C:\Scripts\test.ps1, или перейти в папку скрипта командой cd C:\Scripts и запустить его командой.\test.ps1)Оболочку можно найти и запустить множеством способов. Один из способов - через меню "Пуск". Для Windows 7 - нужно зайти во "Все программы" - "Стандартные" - "Windows PowerShell" и запустить оболочку "Windows PowerShell". Для Windows 10 - нужно найти группу на букву "W" и в ней вы найдете "Windows PowerShell".
  2. Запустить "Интегрированную среду сценариев Windows PowerShell ISE" - это программа - среда разработки, позволяющая редактировать и отлаживать скрипты PowerShell, которая так же есть по-умолчанию вместе с самим PowerShell. Запустив ее, нужно просто нажать кнопку "Открыть" или зайти в меню Файл - Открыть и выбрать нужный скрипт, затем нажать F5 или кнопку "Выполнить скрипт".Найти Windows PowerShell ISE можно там же, где и оболочку PowerShell - в меню "Пуск".
  3. Запустить стандартную коммандную строку и в ней написать:
    powershell -file <имя_скрипта> (пример: powershell -file myscript.ps1)

Если вы раньше не запускали скрипты PowerShell, то скорее всего, вы получите сообщение: Не удается загрузить файл <имя_скрипта>, так как выполнение скриптов запрещено для данной системы. Введите «get-help about_signing» для получения дополнительных сведений. Связано это с тем, что из соображений безопасности и недопущения случайного выполнения вредоносного кода, все скрипты должны быть подписаны цифровой подписью.

Как разрешить выполнение неподписанного скрипта PowerShell?

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

Set-ExecutionPolicy RemoteSigned -Scope Process

2. При запуске из стандартной коммандной строки использовать параметр -executionpolicy, т.е. запускать скрипт так:

<имя_скрипта>

Оба способа устанавливают политику только для текущего сеанса, при этом, политика безопасности выполнения скриптов PowerShell, прописанная в реестре, не будет изменена и останется прежней. Если вы хотите поменять политику безопасности выполнения скриптов "на постоянно", то используйте такой способ:

3. Разрешить запуск навсегда : запустить оболочку PowerShell от имени "Администратора", затем выполните команду:

Set-ExecutionPolicy RemoteSigned

Примечание: Если скрипт был загружен из интернета, то чтобы избежать запроса на подтверждение запуска, нужно вместо RemoteSigned использовать Bypass - полное отключение любых запросов и предупреждений.

Как запустить скрипт PowerShell в фоновом режиме?

Для этого достаточно использовать параметр запуска -WindowStyle, который может принимать значения: Normal, Minimized, Maximized и Hidden. Таким образом, чтобы запустить неподписанный скрипт в фоновом режиме, нужно выполнить команду:

powershell -executionpolicy RemoteSigned -WindowStyle Hidden -file <имя_скрипта>

Так же можно еще при желании добавить -NonInteractive, чтобы скрипт не задавал никаких вопросов. Таким образом, скрипт выполнится незаметно для пользователя. Будmте внимательны, используя такой способ.

Запуск скрипта PowerShell c параметрами

Собственно запуск нужно делать как если бы вы запускали обычную программу или bat-файл с параметрами. Например, для запуска скрипта с параметрами из командной, можно написать такую команду:

powershell -executionpolicy RemoteSigned -file <имя_скрипта> param1 param2 "еще один текстовый параметр"

В самом скрипте вы можете получить эти параметры так:

Param ($var1, $var2, $var3) echo $var1, $var2, $var3

В интегрированной среде PowerShell ISE запустить скрипт с параметрами можно аналогично, используя область команд.

Как запустить скрипт PowerShell с помощью ярлыка?

Осуществить такую задачу можно двумя способами:

  1. Создать bat/cmd файл, в котором прописать команду для запуска скрипта (с параметрами вы ознакомились выше)
  2. Создать ярлык на PowerShell, который можно найти в папке c:\Windows\System32\WindowsPowerShell\v<версия>\ и в свойствах ярлыка в поле "Объект" дописать необходимые параметры.

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

Скриптовый язык PowerShell - довольно мощный инструмент для решения различных задач, но его можно использовать не только для хороших вещей, но и во вред, поэтому, пользуйтесь им с умом;)

Не один год прошел с момента выхода Windows 7 и Server 2008.

Программисты, системные администраторы и продвинутые пользователи нашли множество применений синему окошку, схожему с командной строкой.

Начинающие же юзеры в большинстве своём даже не знают, что такое PowerShell (PS).

А ведь скрипты для PowerShell позволяют автоматизировать, без малого, 100% действий и сценариев, выполняемых в операционной системе посредством командной строки и графического интерфейса.

С основными возможностями этой программы и ознакомимся, побольше внимания уделив функции создания и запуска скриптов (микропрограмм).

Руководств и документации по программе существует несметное количество, в том числе и на русском языке. Задача статьи – дать пользователю концептуальные знания, ввести в курс дела , а стоит ли знакомиться с интерпретатором и выполнением скриптов в нём поближе, решит каждый самостоятельно.

Что собой представляет Windows PowerShell?

PowerShell – интерпретатор на основе.NET Framework, наделённый собственным языком сценариев.

Первое значит, что работает он в текстовом режиме: вводишь запускаешь команду, а на экране видишь результат её выполнения.

Как это было в MS-DOS и старых версиях UNIX’а.

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

По сравнению с другими интерпретаторами, PS отличается:

  • интеграцией с. – позволяет создавать мощные скрипты, внедряя в них программный код;
  • все возвращаемые данные являются объектами, а не данными текстового/строчного типа (string), что подразумевает их передачу другим скриптам и любую обработку.

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

  • Возможность представления команд в виде командлетов – их запуск осуществляется внутри интерпретатора, в ином случае команда выполняется в отдельном процессе.
  • Использование конвейеров – предназначены для передачи данных из одной команды в другую с сохранением их структуры и типа.
  • Интегрирована многопоточная передача данных по сети с установкой приоритетности и возобновлением соединения.
  • Поддержка позиционных и именованных параметров.
  • Фоновая работа – асинхронный вызов команд и запуск скриптов на удалённых машинах.
  • Установка ограниченных сессий с удалёнными клиентами и выполнение сценариев на них.
  • Модули – способ организации скриптов, когда они становятся самодостаточными и выполняются в собственном контейнере, не влияя на окружение модуля.
  • Наличие обработчика ошибок.
  • Графическая среда для языка : синтаксис, отладчик, подсветка, автоматическое завершение команд с поддержкой Юникод и закладок.
  • Добавление точек прерывания в строки , команды, операции и переменные для отладки сценария.
  • Блочные и подстрочные комментарии.
  • Поддержка создания алиасов для некоторых командлетов , преобразовывающихся в обычные команды в момент выполнения.
  • Создание ограниченных сессий, где можно выполнять строго заданный перечень команд и очень многое другое.

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

Приступать к освоению интегрированного скриптового языка, не имея навыков программирования, можно.

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

Хотя, не обладая знаниями об основных понятиях PowerShell, сделать в окне командного интерпретатора вряд ли что-либо получится. С них и начнём.

Командлеты

Командлеты – своеобразные команды PS, за которыми скрываются самые разные функции. Встроенные в интерпретатор команды реализованы по принципу «глагол-имя существительное», например, Get-Process (получение списка процессов). Такое решение позволяет понимать суть команды уже из её названия (на английском языке).

Часть командлетов поддерживает получение/передачу данных и массивов информации с сохранением их структуры и типа. Это работает по принципу конвейера (речь об этом пойдёт в следующем разделе). Несмотря ни на что, командлеты запускаются и обрабатывают объекты строго порядку.

Для реализации командлетов могут задействоваться любые поддерживаемые.NET API, созданные на любом из.NET-языков.

Таким образом юзеру предоставляется доступ до специфических функций программы.

Командлеты умеют для получения доступа к требуемой информации напрямую или через уникальные пути (буквы дисков и пути к директориям).

Посредством командлетов можно работать , объектами файловой системы и хранилища сертификатов, установленными приложениями и службами.

Конвейер

При создании не очень уж примитивных сценариев или для выполнения каких-либо операций с данными, полученными в результате работы скрипта порой приходится также совершать какие-либо действия.

Для этого существует конвейер. Как и в UNIX, он объединяет команды путём передачи выходных данных одного командлета во входные для другого в неизменном виде, сохраняя свой тип.

При этом не требуются никакой контейнер или посимвольный разбор информации.

В состав передаваемой информации может входить и функция. После окончания работы объединённых команд вызывается функция превращения информации в текстовый вид (конвертация данных в строковые) с применением форматирования текста.

Скрипты

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

Особенно, когда одни и те же операции следует выполнять постоянно.

Да и без человеческого фактора не обойтись : опечатки, ошибки, случайно задетые клавиши при написании строчек кода, исправление или набор строки заново требуют более дружелюбного отношения к пользователю.

Для выполнения однообразных цепочек действий в PS реализованы сценарии – текстовые файлы с последовательностью понятных для интерпретатора команд внутри.

Скрипты в PowerShell еще больше упростят и автоматизируют работу за ПК и его обслуживание, особенно, если в сценарии присутствуют разветвления, условия, логические операции и циклы.

Но здесь «не всё золото, что блестит»: написать собственный сценарий или загрузить готовый (пускай и немного подогнав его под собственные цели) так просто не получится.

Если бы в Microsoft это разрешили, сколько бы бед наделали скрипты для PowerShell , написанные мошенниками и недоброжелателями в корыстных или хулиганских целях.

Для выполнения в Windows PS необходимо пройти контроль его запуска.

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

Прежде чем пользоваться скриптами

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

Запуск скачанного скрипта на пользовательской машине – простой и действенный вариант распространения вредоносного программного обеспечения или кражи персональной информации злоумышленниками.

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

Преднамеренный запуск макросов происходит после изменения уровня безопасности, если юзер даст добро, осознавая, что он делает, и зная наверняка, что в файле *.ps1 находится.

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

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

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

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

Даже не думайте изменять конфигурацию , понизив её хотя бы до второго уровня, не ознакомившись с основами PowerShell , пока не начнёте хотя бы поверхностно понимать содержимое файлов *. ps 1.

Существует и понятие политики выполнения, созданной с целью предотвратить случайный запуск сценариев. Настроек политики запуска существует целых пять:

  • ограниченные – установлены по умолчанию, выполняются только подписанные Microsoft сценарии, позволяющие получать информацию об аппаратной и программной оболочке компьютера;
  • имеющих подпись удаленных файлов – выполнять можно все макросы, но или присланные по почте файлы должны быть подписанными;
  • имеющих цифровую подпись от надежного источника – выполняются все подписанные сценарии;
  • неограниченные – запуск любых макросов;
  • обходные – предназначены для программистов, которые создают собственную систему безопасности, а не используют представленную в оболочке.

Проверить текущее состояние политики запуска можно командой «Get-ExecutionPolicy» . Какой бы ни была политика безопасности, пользователь не сможет запустить скрипт, в котором содержатся команды, на выполнение коих у него недостаточно привилегий.

Запуск PowerShell

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

Вызвать окно PowerShell можно несколькими путями.

Представлено оно в двух видах:

  • классическая консоль;

  • PowerShell ISE – добавляет поддержку вкладок, синтаксиса, контекстной справки, контекстного и главного и меню, что в значительной мере облегчает работу в интерпретаторе.

Пуск

Проще всего вызвать PS через Пуск .

  1. Открываем меню (в Windows 7 кликаем «Все программы»).
  2. Идём в каталог Windows PowerShell и кликаем по нужной иконке.

Рис. 4 – Запуск PS через Пуск

Также вызвать PS через можно с помощью интегрированной поисковой системы.

Командный интерпретатор

Кто любит нестандартные и быстрые способы запуска, воспользуйтесь окном «Выполнить» . Оно открывается одноимённой кнопкой в Пуске и комбинацией клавиш Win +R .

В диалоговом окне пишем «powershell» и жмём «Ввод» .

Win+X

В Windows 10 PS можно вызывать из меню WinX. Дело в том, что по умолчанию путём клика по команде «Командная строка» открываемся CMD. Её можно заменить на PowerShell.

Открываем «Свойства» Панели задач, во вкладке «Навигация» ставим галочку возле единственной опции и сохраняем настройки.

Можно вызывать PowerShell через командную строку, прописав в ней «powershell» или запуском исполняемого файла по пути: %WINDIR%\System32\ WindowsPowerShell\v1.0 для 32-битных систем и по адресу %WINDIR%\ syswow64\ WindowsPowerShell\v1.0 для 64-разрядных Windows любой редакции.

Рис. 8 – Запуск PS из каталога, где хранится его исполняемый файл

Настройка политики безопасности

Осталось немного – разрешить PowerShell выполнение скриптов. Прописываем команду «Set-ExecutionPolicy RemoteSigned» и жмем «Y».

На этом всё. Теперь можете выполнять любые командлеты и скрипты. Попробуем, например, отобразить список активных процессов, выполнив «Get-Process» .

Запуск скриптов

Создавать сценарии можно в любом (лучше остановиться на Win, или подобному, с поддержкой синтаксиса или проверки) либо в программе PowerShell ISE.

Последняя предоставляет удобный доступ к командлетам, возможности запуска, отладки и сохранения сценариев.

Предположим, что свой первый скрипт вы написали (это получение перечня запущенных процессов), сохранили через меню «Файл» , и его нужно запустить. Делается это тремя путями:

1 Прописываем полный путь к скрипту в PowerShell (или ISE );

Рис. 13 – Запуск скриптов из окна PowerShell ISE

Важно , чтобы в пути к файлу отсутствовали пробелы!

PowerShell – мощное средство для упрощения выполнения рутинных операций в , Server 2008 и более новых. Важное достоинство PowerShell – скрипты и наличие версии программы с графическим интерфейсом PS ISE . Команды в ней представлены в виде командлетов, что сделает возможным ознакомление с оболочкой и понимание смысла каждой команды. Политика безопасности не даст новичку навредить своему компьютеру полученными из неизвестных источников скриптами, а режим отладки, создание собственных командлетов, функций и механизм обработки ошибок открывают перед программистами и администраторами неограниченные возможности.

Запуск программы из PowerShell

Задача запустить из PowerShell какой либо исполняемый файл (программу или утилиту командной строки) встречается достаточно часто. PowerShell предлагает для этого несколько различных способов, которые мы и рассмотрим далее в этой статье. Начнем с самого простого…

Прямой запуск

Самый простой способ запустить исполняемый файл в PowerShell — это перейти в директорию с файлом и стартовать его напрямую. Для примера возьмем простенькую программку, выводящую приветствие, и выполним ее командой:

Set-Location ″C:\Program Files″
.\Hello.exe

Обратите внимание, что даже находясь в нужном каталоге, требуется указывать относительный путь к исполняемому файлу. Исключение составляют файлы из директорий, перечисленных в переменной окружения (path). Например различные встроенные программы и утилиты (notepad, calc, ping и т.п.), находящиеся в директории Windows\System32, можно запускать без указания пути.

Оператор &

Если необходимо указать полный путь к исполняемому файлу, то можно воспользоваться оператором & (оператор вызова). Он позволяет выполнить строку текста, указанную в кавычках, как единую команду. Например:

& ′C:\Program Files\Hello.exe′

Поскольку оператор & не анализирует передаваемую команду, то он не может интерпретировать ее параметры. Поэтому дополнительные параметры\аргументы передаются также в виде текста, в кавычках. Для примера возьмем предыдущую программу и немного изменим ее, так что она принимает нужный текст в виде аргумента:

& ′C:\Program Files\Hello.exe′ ′Hello, world′

При желании можно указать нескольких аргументов через запятую:

& ′C:\Program Files\Hello.exe′ ′Hello,′, ′ world′

Для удобства команду и аргументы можно поместить в переменные:

$exe = ′C:\Program Files\Hello.exe′
$arg1 = ′Hello′
$arg2 = ′world′
& $exe $arg1 $arg2

Ну и если аргументов много, то их можно объединить, воспользовавшись такой конструкцией:

$exe = ′C:\Program Files\Hello.exe′
$allargs = @(′Hello,′,′world′)
& $exe $allargs

Invoke-Expression

Командлет Invoke-Expression работает примерно так-же, как и оператор & — берет текстовую строку и выполняет ее в виде команды. Например:

Invoke-Expression -Command ′C:\Windows\Hello.exe′

Однако у него есть один большой недостаток, а именно — неумение работать с пробелами. К примеру, следующая команда вызовет ошибку:

Invoke-Expression -Command ′C:\Program Files\Hello.exe′

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

Invoke-Expression -Command ″C:\′Program Files′\Hello.exe″

Start-Process

Командлет Start-Process запускает указанный файл в виде процесса, используя метод Start .NET класса Process . Например:

Start-Process -FilePath ′C:\Program Files\Hello.exe′

По умолчанию процесс выполняется в отдельном окне, которое закрывается по окончании процесса. Изменить такое поведение можно с помощью параметров, так следующая команда запустится в текущем окне:

Start-Process -FilePath ′C:\Program Files\Hello.exe′ -NoNewWindow -Wait

Также Start-Process позволяет передать в процесс дополнительные аргументы:

Start-Process -FilePath ′C:\Program Files\Hello.exe′ -ArgumentList ′Hello, world′ -NoNewWindow -Wait

По умолчанию командлет ничего не возвращает, но с помощью параметра -PassThru можно заставить его вернуть объект процесса. Этот объект очень удобно поместить в переменную:

$process = Start-Process -FilePath ′C:\Program Files\Hello.exe′ -Wait -PassThru

из которой можно затем можно узнать многие полезные вещи, такие как статус:

$process.HasExited

$process.ExitTime

или код выполнения:

$process.ExitCode

.NET

В принципе.NET классом Process можно воспользоваться напрямую, без командлета Start-Process. К примеру, запустить процесс можно командой:

::Start(′C:\Program Files\Hello.exe′)

Такой способ достаточно неудобен и громоздок (на мой взгляд), но чуть более гибок в использовании. Для примера запустим нашу программу в текущем окне, передадим в нее аргументы и заберем результат выполнения:

$process = New-Object -TypeName System.Diagnostics.Process
$process.StartInfo.FileName = ″C:\Program Files\Hello.exe″
$process.StartInfo.Arguments = ″Hello,world″
$process.StartInfo.RedirectStandardOutput = $true
$process.StartInfo.UseShellExecute = $false
$process.Start()
$process.WaitForExit()

$process.StandatdOutput.ReadToEnd()

WMI

С помощью WMI можно сделать практически все, в том числе и запустить программу. Для этого вполне подойдет метод Create WMI-класса Win32_Process. Этот метод запускает процесс на локальном или удаленном компьютере через RPC. Например, для выполнения программы на локальном компьютере можно воспользоваться такой командой:

()″Win32_Process″).Create(′C:\Program Files\Hello.exe′)

А для выполнения на удаленном компьютере команда будет выглядеть так:

()″\\remotecomputer\root\cimv2:Win32_Process″).Create(′C:\Program Files\Hello.exe′)

Как вариант, можно воспользоваться командлетом Invoke-WmiMethod:

Invoke-WmiMethod -Class Win32_Process -Name Create -ArgumentList ″C:\Program Files\Hello.exe″

Либо командлетом Invoke-CimMethod:

Invoke-CimMethod -ClassName Win32_Process -MethodName Create -Arguments @{CommandLine=″C:\Program Files\Hello.exe″}

WMI запускает процесс в отдельном окне и возвращает объект, содержащий идентификатор процесса (ProcessID) и результат выполнения (ReturnValue). ReturnValue может принимать следующие значения:

0 — Sucsessful Completiom
2 — Access Denied
3 — Insufficient Privilege
8 — Uncnown Failure
9 — Path Not Found
21 — Invalid Parameter

Invoke-Command

Командлет Invoke-Command умеет выполнять команды на локальном или удаленном компьютере, используя WinRM. Например, для запуска нашей программы на локальном компьютере используем команду:

Invoke-Command -ScriptBlock {″C:\′Program Files′\Hello.exe″}

При необходимости в программу можно передать аргументы:

Invoke-Command -ScriptBlock {C:\′Program Files′\Hello.exe ″Hello,world″}

Обратите внимание, что Invoke-Command не очень дружит с пробелами, поэтому во избежании ошибок приходится исхитряться с кавычками. Впрочем, подобных проблем можно избежать, например комбинируя использования командлета с оператором &:

Invoke-Command -ScriptBlock {& ′C:\Program Files\Hello.exe′}

В основном Invoke-Command применяется для удаленного управления, его главное достоинство — это возможность одновременного выполнения на нескольких компьютерах. Например:

Invoke-Command -ScriptBlock {″C:\′Program Files′\Hello.exe″} -ComputerName SRV1,SRV2,SRV3

$scriptblock = {″C:\′Program Files′\Hello.exe″}
$Computers = @(′SRV1′,′SRV2′,′SRV3′)
Invoke-Command -ScriptBlock $scriptblock -ComputerName $Computers

По умолчанию командлет возвращает результат выполнения программы, а если запустить его в фоновом режиме (параметр -AsJob), то возвращает объект Job:

Invoke-Command -ScriptBlock {C:\′Program Files′\Hello.exe} -ComputerName localhost -AsJob -JobName Hello

Invoke-Item

Командлет Invoke-Item предназначен для применения к файлу действия по умолчанию. Так запустить исполняемый файл можно командой:

Invoke-Item -Path ″C:\Program Files\Hello.exe″

Однако наиболее удобно использовать Invoke-Item для открытия определенного типа файлов. Например так мы откроем текстовый файл:

Invoke-Item -Path ″C:\Files\test.txt″

А так все текстовые файлы в папке:

Invoke-Item -Path ″C:\Files\*.txt″

CMD

Ну и в завершение еще один способ запуска программы из PowerShell — с помощью оболочки cmd. Способ достаточно ″непрямой″, но тем не менее работающий. Следующая команда запускает новый экземпляр cmd, выполняет в нем указанную программу, завершает работу cmd и возвращает результат:

cmd /c ″C:\Program Files\Hello.exe″

Такое вот изобилие способов запустить программу предоставляет PoSh. И каждый из них хорош для определенных ситуаций.

Кстати, статья написана по мотивам PowerShell: Deep Dive and Best Practice . Рекомендую почитать, там еще много интересного.



Эта статья также доступна на следующих языках: Тайский

  • Next

    Огромное Вам СПАСИБО за очень полезную информацию в статье. Очень понятно все изложено. Чувствуется, что проделана большая работа по анализу работы магазина eBay

    • Спасибо вам и другим постоянным читателям моего блога. Без вас у меня не было бы достаточной мотивации, чтобы посвящать много времени ведению этого сайта. У меня мозги так устроены: люблю копнуть вглубь, систематизировать разрозненные данные, пробовать то, что раньше до меня никто не делал, либо не смотрел под таким углом зрения. Жаль, что только нашим соотечественникам из-за кризиса в России отнюдь не до шоппинга на eBay. Покупают на Алиэкспрессе из Китая, так как там в разы дешевле товары (часто в ущерб качеству). Но онлайн-аукционы eBay, Amazon, ETSY легко дадут китайцам фору по ассортименту брендовых вещей, винтажных вещей, ручной работы и разных этнических товаров.

      • Next

        В ваших статьях ценно именно ваше личное отношение и анализ темы. Вы этот блог не бросайте, я сюда часто заглядываю. Нас таких много должно быть. Мне на эл. почту пришло недавно предложение о том, что научат торговать на Амазоне и eBay. И я вспомнила про ваши подробные статьи об этих торг. площ. Перечитала все заново и сделала вывод, что курсы- это лохотрон. Сама на eBay еще ничего не покупала. Я не из России , а из Казахстана (г. Алматы). Но нам тоже лишних трат пока не надо. Желаю вам удачи и берегите себя в азиатских краях.

  • Еще приятно, что попытки eBay по руссификации интерфейса для пользователей из России и стран СНГ, начали приносить плоды. Ведь подавляющая часть граждан стран бывшего СССР не сильна познаниями иностранных языков. Английский язык знают не более 5% населения. Среди молодежи — побольше. Поэтому хотя бы интерфейс на русском языке — это большая помощь для онлайн-шоппинга на этой торговой площадке. Ебей не пошел по пути китайского собрата Алиэкспресс, где совершается машинный (очень корявый и непонятный, местами вызывающий смех) перевод описания товаров. Надеюсь, что на более продвинутом этапе развития искусственного интеллекта станет реальностью качественный машинный перевод с любого языка на любой за считанные доли секунды. Пока имеем вот что (профиль одного из продавцов на ебей с русским интерфейсом, но англоязычным описанием):
    https://uploads.disquscdn.com/images/7a52c9a89108b922159a4fad35de0ab0bee0c8804b9731f56d8a1dc659655d60.png