twitter linkedin instagram email rss
Windows Uptime
Mar 31, 2018

Hoje vou deixar um snippet em PowerShell para ver o uptime, de uma estação ou servidor. Eu mesmo tentei várias coisas mas fazer o módulo em PS ficou muito mais legal! :)

Mas antes, vamos dar uma olhada em algumas definições, são elas:

Script Modules - São scripts que contém qualquer tipo de código PowerShell válido. Eles são representados pela extensão “.psm1” que significa simplesmente PowerShell Module

Binary Modules - São assemblys (.dll) que contém classes cmdLet. Em geral elas vem acompanhadas de arquivos de manifesto que determinam alguns critérios de execução.

Module Manifests - São arquivos de dados (.psd1) que descrevem o conteúdo do módulo, no caso o binário, e determinam sua forma de processamento. Em geral não são necessários, mas são extremamente úteis para realizarem ações de controle, post-install e até mesmo permissionamento dos elementos que serão exportados de sua arquitetura

Isto entendido, vamos de script modules, e segue o psm1 de uptime:

uptime.psm1

 0<#
 1 .Synopsis
 2  Mostra o tempo total em que o servidor ou estação está em execução.
 3 .Description
 4  Idem a Synopsis
 5  .Example
 6   uptime
 7#>
 8Function Global:uptime {
 9
10    [string] $ComputerName = $env:COMPUTERNAME
11    $Now = Get-Date
12    $LastBoot=[System.Management.ManagementDateTimeConverter]:: `
13    ToDateTime((Get-WmiObject win32_operatingsystem -ComputerName `
14    $computername).lastbootuptime)
15    $uptime="{0} Dias {1} Horas {2} Minutos {3} Segundos" -f `
16    ($Now - $LastBoot).days, ($Now - $LastBoot).hours, `
17    ($Now - $LastBoot).minutes,($Now - $LastBoot).seconds
18    Write-Output $uptime
19}
20export-modulemember -function uptime

O mesmo deve ser armazenado da seguinte forma:

image

Feito isto, basta importar o módulo e tada! você agora tem o uptime fácil.. :)

image

ah! e para deixar automatico, ou seja, toda vez que for iniciar uma sessão PS, basta inserir a chamada de import-module de dentro do deu $PROFILE

cya!


Back to posts


comments powered by Disqus