想要使用powershell查询远程PC的正常运行时间
我想查询机器的正常运行时间,并决定通过powershell进行尝试,但我正在努力使其正常运行。以下是我迄今为止所做的工作:想要使用powershell查询远程PC的正常运行时间,powershell,wmic,Powershell,Wmic,我想查询机器的正常运行时间,并决定通过powershell进行尝试,但我正在努力使其正常运行。以下是我迄今为止所做的工作: function Get-PCUptime { param ( [Parameter(ValueFromPipeline=$true)] [String]$computer = (Read-Host "Enter a computer name") ) $lastb
function Get-PCUptime {
param (
[Parameter(ValueFromPipeline=$true)]
[String]$computer = (Read-Host "Enter a computer name")
)
$lastboottime = (Get-WmiObject -Class Win32_OperatingSystem -Credential Administrator -comp $computer)
$sysuptime = (Get-Date) – [System.Management.ManagementDateTimeconverter]::ToDateTime($lastboottime.LastBootUpTime)
if ($lastboottime -ne $NULL){
Write-Host “System($computer) is Uptime since : ” $sysuptime.days “days” $sysuptime.hours `
“hours” $sysuptime.minutes “minutes” $sysuptime.seconds “seconds” -Foregroundcolor Gray;
}
}
我似乎无法让它工作,因为我想把它转换成天、小时、分钟等
这是我收到的错误:
使用“1”参数调用“ToDateTime”时发生异常:“指定的参数超出有效值的范围。
参数名称:dmtfDate“
您可以在
Win32\u操作系统上使用ConvertToDateTime
方法
function Get-PCUptime {
param (
[Parameter(ValueFromPipeline=$true,
HelpMessage="Enter a Computer Name"
)]
[String]$computer
)
$OS = (Get-WmiObject -Class Win32_OperatingSystem -Credential Administrator -comp $computer)
$sysuptime = (Get-Date) – ($OS.ConvertToDateTime($OS.LastBootUpTime))
if ($OS -ne $NULL){
Write-Host “System($computer) is Uptime since : ” $sysuptime.days “days” $sysuptime.hours `
“hours” $sysuptime.minutes “minutes” $sysuptime.seconds “seconds” -Foregroundcolor Gray;
}
}