Не забравяйте да прочетете предишните статии в серията:
- Научете как да автоматизирате Windows с PowerShell
- Научете как да използвате Cmdlets в 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 с променлива $ 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 #>
След като направите всичко това, трябва да завършите с скрипт, който изглежда така.