Não deixe de ler os artigos anteriores da série:
- Aprenda a automatizar o Windows com o PowerShell
- Aprendendo a usar cmdlets no PowerShell
- Aprendendo a usar objetos no PowerShell
- Aprendendo a formatar, filtrar e comparar no PowerShell
- Aprenda a usar o Remoting no PowerShell
- Usando o PowerShell para obter informações do computador
- Trabalhando com coleções no PowerShell
- Aprenda como usar trabalhos no PowerShell
- Aprenda como estender o PowerShell
- Aprendendo Variáveis do PowerShell, Entrada e Saída
Escrevendo seu primeiro script
A primeira coisa que precisamos fazer é encontrar uma maneira de acessar as informações que procuramos. Como estamos lidando com informações de gerenciamento, provavelmente precisamos dar uma olhada no uso do WMI, que de fato tem uma classe chamada Win32_OperatingSystem, que permite exibir informações detalhadas sobre o sistema operacional, incluindo a última vez que foi iniciado.
Get-WmiObject -Class Win32_OperatingSystem –ComputerName localhost |
Select-Object -Property CSName,LastBootUpTime
Observação: eu tive que dividir meu código em duas linhas para que tudo coubesse na captura de tela, mas fique à vontade para digitá-lo em uma única linha. Se você optar por dividi-lo em duas linhas, certifique-se de que o caractere de pipe seja o último caractere na linha 1.
Select-Object -Property CSName,@{n=”Last Booted”;
e={[Management.ManagementDateTimeConverter]::ToDateTime($_.LastBootUpTime)}}
O que estamos fazendo aqui é criar uma propriedade personalizada chamada "Última inicialização" e especificar que seu valor deve ser o resultado da chamada do método estático ToDateTime na propriedade LastBootUpTime do objeto de pipeline atual. Seu código deve agora se parecer com isso.
C:Get-LastBootTime.ps1
C:Get-LastBootTime.ps1
param( [string]$ComputerName )
Em seguida, substitua o valor localhost codificado com a variável $ ComputerName. Seu script agora deve ficar assim:
help C:Get-LastBootTime.ps1
[Parameter(Mandatory=$true)][string]$ComputerName
Quanto a criar um arquivo de ajuda melhor, o método mais comum é usar a ajuda baseada em comentários. Isso significa que apenas adicionamos um comentário extra longo ao topo do script.
<#.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 #>
Depois de tudo o que é feito, você deve acabar com um script parecido com isso.