Обязательно прочитайте предыдущие статьи в серии:
- Узнайте, как автоматизировать Windows с помощью PowerShell
- Обучение использованию командлетов в PowerShell
- Обучение использованию объектов в PowerShell
- Форматирование, фильтрация и сравнение обучения в PowerShell
- Научитесь использовать Remoting в PowerShell
- Использование PowerShell для получения информации о компьютере
- Работа с коллекциями в PowerShell
- Узнайте, как использовать вакансии в PowerShell
- Узнайте, как расширить PowerShell
- Изучение переменных PowerShell, ввода и вывода
Написание первого скрипта
Первое, что нам нужно сделать, это найти способ доступа к информации, которую мы ищем. Поскольку мы имеем дело с информацией управления, нам, вероятно, нужно взглянуть на использование WMI, у которого действительно есть класс под названием Win32_OperatingSystem, который позволяет вам просматривать подробные сведения о вашей операционной системе, в том числе в последний раз, когда он запускался.
Get-WmiObject -Class Win32_OperatingSystem –ComputerName localhost |
Select-Object -Property CSName,LastBootUpTime
Примечание. Мне пришлось разделить мой код на две строки, чтобы все это вписалось в скриншот, но не стесняйтесь вводить его в одну строку. Если вы решили разбить его на две строки, убедитесь, что символ канала является последним символом в строке 1.
Select-Object -Property CSName,@{n=”Last Booted”;
e={[Management.ManagementDateTimeConverter]::ToDateTime($_.LastBootUpTime)}}
Здесь мы создаем настраиваемое свойство «Last Booted» и указываем, что его значение должно быть результатом вызова статического метода ToDateTime в свойстве LastBootUpTime текущего объекта конвейера. Теперь ваш код должен выглядеть так.
C:Get-LastBootTime.ps1
C:Get-LastBootTime.ps1
param( [string]$ComputerName )
Затем замените hardcoded localhost value на переменную $ ComputerName. Теперь ваш скрипт должен выглядеть следующим образом:
help C:Get-LastBootTime.ps1
[Parameter(Mandatory=$true)][string]$ComputerName
Что касается создания лучшего файла справки, наиболее распространенным методом является использование помощи, основанной на комментариях. Это означает, что мы просто добавляем дополнительный длинный комментарий в верхний скрипт.
<#.SYNOPSIS Shows when last your PC started up..DESCRIPTION This is a WMI wrapper function to get the time that your PC last started up..PARAMETER ComputerName The name of the Computer you want to run the command against..EXAMPLE Get-LastBootTime -ComputerName localhost.LINK www.howtogeek.com #>
Как только все будет сделано, вы должны получить сценарий, похожий на этот.