Я хочу иметь возможность удаленно получать информацию о работоспособности виртуальной машины Windows в определенный период времени.Это скрипт, который я нашел:
function Get-SystemUpTime {
[CmdletBinding()]
Param(
[Parameter(Position = 0, Mandatory = $false, ValueFromPipeline = $true)]
[Alias("CN")]
[String[]]$ComputerName = $Env:ComputerName,
[Parameter(Position = 1, Mandatory = $false)]
[Alias("RunAs")]
[System.Management.Automation.Credential()]$Credential = [System.Management.Automation.PSCredential]::Empty
)
Process {
foreach ($Name in $ComputerName) {
Get-WmiObject -Class Win32_PerfFormattedData_PerfOS_System -ComputerName $Name -Credential $Credential |
Select-Object @{Name="ComputerName";Expression={$_.__SERVER}},
@{Name="SystemUpTime";Expression={New-TimeSpan -Seconds $_.SystemUpTime}}
}
}
}
Get-SystemUpTime localcomputer | Sort-Object SystemUpTime
Это локальный скрипт, который я написал:
function Get-Uptime {
$os = Get-WmiObject Win32_OperatingSystem
$uptime = (Get-Date) - ($os.ConvertToDateTime($os.LastBootupTime))
$Display = "Uptime: " + $Uptime.Days + " days, " + $Uptime.Hours +
" hours, " + $Uptime.Minutes + " minutes"
Write-Output $Display
Write-Output $uptime.Hours
}
Get-Uptime
Как я могу изменить скрипт, чтобы получать эту информацию только за определенный месяц или период времени,что я могу легко определить в сценарии?