Powershell — скачать и установить для windows 10, 8.1, 7

Оценка производительности компьютера

В Windows PowerShell можно получить сведения об общей оценке производительности всего компьютера. Такая оценка выставляется системой, которая учитывает вклад каждого комплектующего. Конечно, получить такую информацию быстрее в свойствах приложения «Мой компьютер». Но для общего развития не помешает узнать, как это делается в PowerShell. Алгоритм достаточно прост:


  1. Запустить оснастку от имени администратора.
  2. В строке с мигающим курсором прописать команду «winast formal».
  3. Теперь можно закрывать ПО и переходить в «Мой компьютер».
  4. В поисковой строке сверху окна необходимо пройти путь: C:WindowsPerformanceWinSATDataStore.
  5. В списке представленных параметров отыскать файл «Formal.Assessment (Recent).WinSAT.xml» и запустить его.
  6. Опять появится окошко PowerShell, где уже надо ввести команду «Get-CimInstance Win32_WinSAT», после чего тапнуть по «Enter» с клавиатуры.
  7. Ознакомиться со сведениями об общей и поэтапной оценках производительности. Здесь также показаны официальные сведения о процессоре ПК.

Индекс производительности ПК в WindowsPowerShell

Обратите внимание! При желании можно поменять, обновить индекс производительности компьютера в системных параметрах, указав собственное число

在 Windows Server 版本中查找 PowerShellFinding PowerShell in Windows Server versions

从 Windows Server 2008 R2 开始,安装操作系统可不包含图形用户界面 (GUI)。Starting with Windows Server 2008 R2, Windows operating system can be installed without the graphical user interface (GUI). 不含 GUI 的 Windows Server 版本名为“核心” 版本,包含 GUI 的版本名为“桌面” 版本。Editions of Windows Server without GUI are named Core editions, and editions with the GUI are named Desktop.

Windows Server 核心版本Windows Server Core editions

在所有核心版本中,登录到服务器时会显示 Windows 命令提示符窗口。In all Core editions, when you log to the server you get a Windows command prompt window.

键入 并按“Enter” 可在命令提示符会话内启动 PowerShell。Type and press ENTER to start PowerShell inside the command prompt session. 键入 可终止 PowerShell 会话并返回命令提示符。Type to terminate the PowerShell session and return to command prompt.

Windows Server 桌面版本Windows Server Desktop editions

在所有桌面版本中,单击左下角的 Windows 图标,键入 PowerShell。In all desktop editions, click the left lower corner Windows icon, start typing PowerShell. 将显示控制台和 ISE 选项。You get both console and ISE options.

上述规则的唯一例外是 Windows Server 2008 R2 SP1 中的 ISE;这种情况下,请单击左下角的 Windows 图标,键入 PowerShell ISE。The only exception to the above rule is the ISE in Windows Server 2008 R2 SP1; in this case, click the left lower corner Windows icon, type PowerShell ISE.

Остановка, запуск, приостановка и перезапуск служб из PowerShell

Остановить службу можно с помощью командлета Stop-Service. Чтобы остановить службу печати, выполните команду:

Командлет Stop-Service не выводит никаких данных после выполнения. Чтобы увидеть результат выполнения команды, используйте параметр -PassThru.

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

Cannot stop service because it has dependent services. It can only be stopped if force flag set.

Для принудительной остановки используйте параметр –Force. Вы должны помнить, что остановятся также все зависимые службы:

Следующая команда остановит перечисленные службы (bits,spooler) со статусом ”Running”:

Иногда службы зависают в статусе Stopping и их процессы приходится завершать принудительно.

Командлет Start-Service запускает остановленные службы:

Служба не запустится, если есть остановленные зависимые службы. Чтобы их найти и включить:


Командлет Suspend-Service может приостанавливать службы, допускающие временную приостановку и возобновление. Для получения сведений о возможности временной приостановки конкретной службы используйте командлет Get-Service со свойством «CanPauseAndContinue«.

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

Приостановим службу SQLBrowser:

Для возобновления работы приостановленной службы служит командлет Resume-service:

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

Командлет Restart-Service перезапускает службу:

Эта команда запускает все остановленные сетевые службы компьютера:

Параметр —ComputerName у этих командлетов отсутствует, но их можно выполнить на удаленном компьютере с помощью командлета Invoke-Command или через пайп:

Например, чтобы перезапустите очередь печати на удаленном компьютере RM1, выполните команду:

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

7.0.1 — 2020-05-14

General Cmdlet Updates and Fixes

  • Add check for Windows PowerShell install path ()
  • Fix Null Reference error in CSV commands () (Thanks @iSazonov!)
  • Fix module loading to treat Core edition modules higher priority ()
  • Fix detection regex in web cmdlets () (Thanks @vexx32!)
  • Miscellaneous minor updates to ()
  • Fix where error message is wider than window width and doesn’t have whitespace (, )
  • Make always use the default synchronization context for sending ping requests ()

Build and Packaging Improvements

Move to .NET Core 3.1.202 SDK and update packages.

  • Use dotnet core 3.1.202 (Internal 11551)
  • Bump PowerShellGet from 2.2.3 to 2.2.4 ()
  • Move to standard internal pool for building ()
  • Bump from to ()

8 ответов

Я наконец-то заставил свой скрипт PowerShell автоматически запускаться при каждом запуске. Вам нужно будет создать два файла: первый — это скрипт Powershell (например, ), а второй — файл .cmd, который будет содержать команды, которые будут выполняться в командной строке (например, ).

Второй файл — это то, что нужно выполнить, когда компьютер запускается, и просто вставка .ps1 в папку автозагрузки не будет работать, потому что это на самом деле не выполняет скрипт — он только открывает файл с блокнотом. Вам нужно выполнить .cmd, который сам будет выполнять .ps1 с помощью PowerShell. Хорошо, достаточно болтовни и на ступеньках:

  1. Создайте сценарий .ps1 и поместите его в папку. Я положил его на свой рабочий стол для простоты. Путь будет выглядеть примерно так:
  1. Создайте файл .cmd и поместите его в

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

  1. Откройте файл .cmd в текстовом редакторе и введите следующие строки:

Это сделает две вещи:

  1. Установите для политики выполнения вашей PowerShell значение Неограниченно. Это необходимо для запуска сценариев, иначе PowerShell этого не сделает.
  2. Используйте PowerShell для выполнения сценария .ps1, найденного по указанному пути.

Этот код специально для PowerShell v1.0. Если вы используете PowerShell v2.0, он может немного отличаться. В любом случае, проверьте этот источник на наличие кода .cmd.

  1. Сохраните файл .cmd

Теперь, когда у вас есть файлы .ps1 и .cmd по соответствующим путям и со сценарием для каждого, все готово.

Вы можете установить его в качестве запланированной задачи и установить триггер задачи для «При запуске»


Что я делаю, это создаю ярлык, который помещаю в shell: startup.

Ярлык имеет следующее:

Цель:

(замена scripts \ scripts.ps1 на то, что вам нужно)

Начать с:

(замена скриптов папкой с вашим скриптом)

Скопируйте ps1 в эту папку и создайте его при необходимости. Он будет запускаться при каждом запуске (до входа пользователя в систему).

Также это можно сделать через GPEDIT.msc, если он доступен в вашей сборке ОС (возможно, ОС более низкого уровня).

У меня есть скрипт, который также запускает наблюдателя файловой системы, но как только окно скрипта закрывается, наблюдатель умирает. Он будет работать весь день, если я запусту его из окна powershell и оставлю его открытым, но как только я закрою его, скрипт перестанет делать то, что должен. Вам нужно запустить скрипт, чтобы он оставался открытым PowerShell. Я попробовал множество способов сделать это, но тот, который действительно работал, был из http://www.methos-it.com/blogs/keep-your-powershell-script-open-when-executed

Вставка этого в начало скрипта — вот что заставило его работать. Я запускаю скрипт из командной строки с помощью

Относительно короткий путь к указанию сценария Powershell для выполнения при запуске в Windows может быть следующим:

  1. Нажмите кнопку Windows (кнопка Windows + r)
  2. Введите это:
  1. Создайте новый ярлык , щелкнув правой кнопкой мыши и в контекстном меню выберите пункт меню: New => Ярлык

  2. Создайте ярлык для вашего скрипта, например:

Обратите внимание на использование -NoProfile . Если вы много инициализируете в вашем файле $ profile, неэффективно загружать его, чтобы просто запустить скрипт Powershell. -NoProfile пропустит загрузку файла вашего профиля и будет разумно указать, нужно ли запускать его перед выполнением скрипта Powershell

Здесь вы видите такой ярлык, созданный (файл .lnk со значком Powershell с символом ярлыка):

Это сработало для меня. Создано запланированное задание с подробностями ниже: Триггер: при запуске

Действия: Программа /скрипт: powershell.exe Аргументы: -файл

Вы можете увидеть сценарии и многое другое, запланированные для запуска в диспетчере задач на вкладке «Автозагрузка». Вот как добавить новый элемент в запланированные элементы автозагрузки.

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

Щелкните правой кнопкой мыши в этой папке и в контекстном меню выберите новый ярлык. Введите следующее:

Это запустит сценарий Powershell без запуска сценариев $ profile для более быстрого выполнения. Это обеспечит запуск сценария powershell.

Папка оболочки: автозагрузка находится в:

А затем в папку:

Как обычно, Microsoft делает некоторые вещи немного сложными для нас, когда путь содержит пробелы, поэтому вам нужно поместить кавычки вокруг полного пути или просто нажать вкладку внутри Powershell, чтобы в этом случае выполнить автозаполнение.

Недостатки командлета Invoke-WebRequest

Одним из существенных недостатком командлета Invoke-WebRequest является довольно низкая скорость работы. При загрузке файла HTTP поток целиком буферизируется в память, и только после окончания полной загрузки сохраняется на диск. Таким образом, при закачке больших файлов можно столкнутся с нехваткой памяти.


Другая проблема – командлет Invoke-WebRequest тесно связан с Internet Explorer. Например, в редакциях Windows Server Core, в которых IE не установлен, командлет  Invoke-WebRequest использовать нельзя.

Если на HTTP сайте используется самоподписанный сертификат, то командлет Invoke-WebRequest отказывается получать данные с него. Чтобы игнорировать некорректный SSL сертификат, используйте следующий код:

Игнорировать SSL сертификат можно так:

在 Windows 10、8.1、8.0 和 7 中尋找 PowerShellFinding PowerShell in Windows 10, 8.1, 8.0, and 7

由於 PowerShell 主控台或 ISE (整合式指令碼環境) 的位置會從某個 Windows 版本移到另一版,因此要在 Windows 中找到並不容易。Sometimes locating PowerShell console or ISE (Integrated Scripting Environment) in Windows can be difficult, as its location moves from one version of Windows to the next.

下表有助於在您的 Windows 版本中找到 PowerShell。The following tables should help you find PowerShell in your Windows version. 此處列出的所有版本都是發行之後未經更新的原始版本。All versions listed here are the original version, as released, with no updates.

主控台For Console

版本Version LocationLocation
Windows 10Windows 10 按一下左下角 Windows 圖示,開始鍵入 PowerShellClick left lower corner Windows icon, start typing PowerShell
Windows 8.1、8.0Windows 8.1, 8.0 在開始畫面中,開始鍵入 PowerShell。On the start screen, start typing PowerShell.如果在桌面上,則按一下左下角 Windows 圖示,開始鍵入 PowerShellIf on desktop, click left lower corner Windows icon, start typing PowerShell
Windows 7 SP1Windows 7 SP1 按一下左下角 Windows 圖示,在搜尋方塊開始鍵入 PowerShellClick left lower corner Windows icon, on the search box start typing PowerShell

ISEFor ISE

版本Version LocationLocation
Windows 10Windows 10 按一下左下角 Windows 圖示,開始鍵入 ISEClick left lower corner Windows icon, start typing ISE
Windows 8.1、8.0Windows 8.1, 8.0 在開始畫面上,鍵入 PowerShell ISE。On the start screen, type PowerShell ISE.如果在桌面上,則按一下左下角 Windows 圖示,鍵入 PowerShell ISEIf on desktop, click left lower corner Windows icon, type PowerShell ISE
Windows 7 SP1Windows 7 SP1 按一下左下角 Windows 圖示,在搜尋方塊開始鍵入 PowerShellClick left lower corner Windows icon, on the search box start typing PowerShell

Как запустить Windows PowerShell

Здесь всё достаточно просто. Виндовс Пауэр Шелл — это обычный компонент операционной системы, который имеет свой исполняемый файл. Чтобы его открыть, можно воспользоваться следующим алгоритмом:

  1. Зайти в «Пуск». Значок располагается внизу экрана с левой стороны.
  2. Прописать в поисковой строке фразу «PowerShell», переключив клавиатуру на английскую раскладку.
  3. В результате поиска высветится значок приложения, по которому надо будет кликнуть ЛКМ один раз.
  4. При необходимости эту иконку можно перетащить на рабочий стол, чтобы каждый раз не выполнять перечисленные манипуляции, а сразу открывать утилиту двойным нажатием на её ярлык.

К сведению! Приведённым выше алгоритмом можно пользоваться всегда для открытия того или иного системного софта, предустановленного приложения.

Как разрешить запуск скриптов PowerShell с помощью Execution Policy?

Чтобы изменить текущее значение политики запуска PowerShell скриптов, используется командлет Set-ExecutionPolicy.

Например, разрешим запуск локальных скриптов:

Подтвердите изменение политики запуска PS1 скриптов, нажав Y или A.

Чтобы запрос не появлялся, можно использовать параметр Force.

Если вы установили значение политики PowerShell Execution Policy в Unrestricted, то при запуске удаленных скриптов из сетевых каталогов по UNC пути, скачанных из интернета файлов, все равно будет появляться предупреждение:

Security warning
Run only scripts that you trust. While scripts from the internet can be useful, this script can potentially harm your computer. If you trust this script, use the
Unblock-File cmdlet to allow the script to run without this warning message.
Do you want to run?
 Do not run  Run once  Suspend  Help (default is "D")

Как PowerShell различает локальные и удаленные скрипты? Все дело в идентификаторе зоны ZoneId, которую выставляет браузер в альтернативном потоке при загрузке файла (см. статью “Как Windows определяет, что файл скачан из Интернета?”). Вы можете разблокировать такой файл, поставив галку “Разблокирвать” в его свойствах или очиститься метку зоны с помощью комадлета  Unblock-File.

Также следует различать различные области действия политик выполнения скриптов PowerShell (scopes):

  • MachinePolicy – действует для всех пользователей компьютера, настраивается через GPO;
  • UserPolicy – действует на пользователей компьютера, также настраивается через GPO;
  • Process — настройки ExecutionPolicy действует только для текущего сеанса PowerShell.exe (сбрасываются при закрытии процесса);
  • CurrentUser – политика ExecutionPolicy применяется только к текущему пользователю (параметр из ветки реестра HKEY_CURRENT_USER);
  • LocalMachine – политика для всех пользователей компьютера (параметр из ветки реестра HKEY_LOCAL_MACHINE);

Область применения политики можно указать с помощью параметр Scope командлета Set-ExecutionPolicy. Например:

Проверим текущие настройки ExecutionPolicy для всех областей:

Scope ExecutionPolicy
----- ---------------
MachinePolicy Undefined
UserPolicy Undefined
Process Bypass
CurrentUser Undefined
LocalMachine RemoteSigned

Значение политики выполнения, которые вы задаете с помощью командлета Set-ExecutionPolicy для областей CurrentUser и LocalMachine, хранятся в реестре. Например, выполните командлет:

Откройте ветку реестра HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell\1\ShellIds\Microsoft.PowerShell и проверьте значение REG_SZ параметра ExecutionPolicy. Оно изменилось на Restricted (допустимые значения параметра Restricted, AllSigned, RemoteSigned, Bypass, Unrestricted и Undefined).

Аналогичные настройки для области CurrentUser находятся в разделе реестра пользователя HKEY_CURRENT_USER\SOFTWARE\Microsoft\PowerShell\1\ShellIds\Microsoft.PowerShell.

Т.е. вы можете распространить нужные настройки политики исполнения скриптов через реестр с помощью Group Policy Preferences.

Отметим, что чаще всего в корпоративной среде используется ExecutionPolicy со значением AllSigned на уровне LocalMachine. Это обеспечивает максимальный баланс между безопасностью и удобством. Для личного пользования на компьютере можно использовать RemoteSigned. Ну а Bypass политику лучше использовать только для запуска отдельных задач (например для запуска скриптов через GPO или заданий планировщика).


С этим читают