gpt4 book ai didi

powershell - Powershell脚本按组织单位获取机器正常运行时间

转载 作者:行者123 更新时间:2023-12-02 23:37:29 27 4
gpt4 key购买 nike

我发现了一些脚本,但没有任何工作方法并试图将它们组合在一起,却惨遭失败。我找不到任何可以解释如何使找到的人做我想要的东西的东西,所以这是我的尝试,但是没有用,所以我想知道是否有人可以帮助我使它工作?我删除了识别域信息

Get-ADComputer -Filter { Name -like "*" } -SearchBase "OU=OU,DC=DC,DC=DC" |
Select-Object -ExpandProperty Name |
Sort-Object |
Get-WmiObject -Class Win32_OperatingSystem
$wmi.ConvertToDateTime($wmi.LocalDateTime) - $wmi.ConvertToDateTime($wmi.LastBootUpTime)

最佳答案

因此,您有几个步骤:

  • 获取机器列表
    $list = Get-ADComputer -Filter 'Name -like "*"' -SearchBase 'OU=Computers,DC=example,DC=com'
  • 遍历列表
    $results = foreach ($pc in $list.Name)
    {
  • 获取WMI信息
        $wmi = Get-WmiObject -ComputerName $pc -Class Win32_OperatingSystem
  • 计算正常运行时间
        $uptime = $wmi.ConvertToDateTime($wmi.LocalDateTime) - $wmi.ConvertToDateTime($wmi.LastBootUpTime)
  • 在可以使用的集合中输出信息
        [pscustomobject]@{
    ComputerName = $pc
    Uptime = $uptime.Hours
    }
    }

  • 减去两个 datetime对象将得到一个 timespan,因此您需要弄清楚所需的信息量(秒,分钟等)。此过程的最终结果是 $results中的对象数组以及 ComputerNameUptime

    关于powershell - Powershell脚本按组织单位获取机器正常运行时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51771597/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com