Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Это приложение содержит краткие ответы на вопросы проверки, найденные в конце каждой главы. Используйте его для проверки понимания и укрепления ключевых понятий.
Глава 1. Начало работы с PowerShell
- Используйте автоматическую
$PSVersionTableпеременную. - Только если необходимо обойти контроль учетных записей пользователей (UAC) для задач, требующих повышения прав на локальном компьютере.
- Политика выполнения по умолчанию в клиентских системах Windows —
Restricted, которая предотвращает выполнение скриптов. - Используется
Get-ExecutionPolicyдля определения текущей политики выполнения. - Используйте
Set-ExecutionPolicy(например,Set-ExecutionPolicy -ExecutionPolicy RemoteSigned).
Глава 2 — Система справки
- Нет. Параметр
Get-Serviceименован, а не позиционный. -
Get-Processимеет шесть наборов параметров. - Используйте
Get-Command -Noun EventLog. - Используйте
Get-Process -Name powershell. - Запустите
Update-Help(с повышенными правами администратора в Windows PowerShell), чтобы скачать и установить последнее содержимое справки.
Глава 3. Обнаружение объектов, свойств и методов
-
Get-Processсоздает объектSystem.Diagnostics.Process. - Передайте команду в
Get-Member. - Проверьте, имеет ли объект метод, выполняющий действие.
- Используйте параметр команды
PassThru, если он имеет один. - Выполните команду один раз и сохраните результаты в переменной, чтобы избежать многократного создания больших объемов выходных данных при создании прототипа.
Глава 4. One-Liners и конвейер
- Однострочник PowerShell является одним непрерывным пайплайном независимо от количества физических строк, которые он охватывает.
- Естественные разрывы линий могут возникать при символах, таких как вертикальная черта (
|), запятая (,), квадратные скобки ([ ]), фигурные скобки ({ }), и круглые скобки (( )). - Необходимо отфильтровать слева, чтобы повысить производительность и эффективность, уменьшая объем данных, передаваемых через конвейер.
- Команда может принимать входные данные конвейера по значению (по типу) или по имени свойства.
- Поскольку большинство содержимого в коллекция PowerShell предоставляется сообществом и может не быть проверено, его следует анализировать и тестировать до использования.
Глава 5. Форматирование, псевдонимы, поставщики, сравнение
- Поскольку командлеты форматирования создают форматные объекты, которые разрывают конвейер и не могут быть использованы большинством других команд.
- Используйте
Get-Alias -Name %, чтобы определить фактический командлет. - Так как псевдонимы снижают удобочитаемость и переносимость, что делает скрипты более сложными для других пользователей.
- Используйте
Get-ChildItem -Path HKLM:\, HKCU:\для перечисления разделов реестра в обоих ульях. - Оператор
-replaceпо умолчанию не чувствителен к регистру, тогда как метод.Replace()учитывает регистр.
Глава 6. Управление потоками
-
ForEach-Objectобрабатывает элементы по одному из потока (стриминг), а операторforeachобрабатывает элементы из коллекции, которая уже загружена в память. -
whileЦикл оценивает своё условие перед выполнением, поэтому он может вообще не выполняться, если условие является ложным, в отличие отdo whileиdo until, которые выполняются по крайней мере один раз. -
breakзавершает цикл полностью, пропускаяcontinueтекущую итерацию и переходя к следующей.
Глава 7. Работа с WMI
- Командлеты WMI (например,
Get-WmiObjectболее старые) и используют DCOM, а командлеты CIM (например,Get-CimInstance) являются более новыми и используют WSMan по умолчанию. - WSMan (Windows удаленное управление).
- Сеансы CIM позволяют повторно использовать подключения, поддерживать альтернативные учетные данные, повысить производительность и упростить управление несколькими удаленными подключениями.
- Создайте параметр сеанса с
New-CimSessionOption, например, для использования DCOM, и передайте его вNew-CimSession, а затем используйте этот сеанс сGet-CimInstance. - Используйте
Remove-CimSession.
Глава 8 – Удаленное взаимодействие PowerShell
- Используйте
Enable-PSRemoting. - Используйте
Enter-PSSession. - Он позволяет использовать постоянный сеанс вместо указания имени компьютера и учетных данных с каждой командой.
- Да, вы можете использовать сеанс PowerShell (PSSession) в сценарии интерактивного удаленного взаимодействия.
- Локальное выполнение командлетов возвращает динамические объекты с методами, а удаленные команды возвращают десериализированные объекты без методов.
Глава 9. Функции
- Используйте
Get-Verb. -
[CmdletBinding()]Добавьте атрибут в функцию. - Когда функция вносит изменения в состояние системы или выполняет потенциально влияющие действия.
- Укажите
-ErrorAction Stop. - Чтобы задокументировать, как использовать функцию, чтобы вы и другие могли легко понять её и получить доступ к помощи с
Get-Help.
Глава 10. Модули скриптов
-
.psm1Создайте файл и поместите в него функции. - Использование утвержденных глаголов гарантирует согласованность, избегает предупреждений и улучшает обнаруживаемость.
- Используйте
New-ModuleManifest. - Используйте
Export-ModuleMemberв.psm1файле или укажите функции вFunctionsToExportполе.psd1файла. - Модуль должен находиться в папке с именем модуля, расположенной по пути, указанному в
$env:PSModulePath, и содержать соответствующий файл модуля (.psm1или манифест).
Окончательные заметки
- Эти ответы намеренно кратки для укрепления ключевых понятий.
- Вернитесь к главам для более глубокого понимания.
GitHub сайтында бізбен бірлесіп жұмыс істеу
Бұл мазмұнның көзін GitHub сайтында табуға болады. Онда сонымен бірге мәселелер мен өзгертулерді енгізу сұрауларын жасауға және қарап шығуға болады. Қосымша ақпарат алу үшін қатысушы нұсқаулығын қараңыз.
PowerShell