获取AD计算机PowerShell

gcuhipw9  于 2023-02-04  发布在  Shell
关注(0)|答案(1)|浏览(141)

如何在AD中使用此param获取计算机,有人能帮助我吗?

Param(
        [string] $ComputerName = $env:computername,
        [int] $NumberOfDays = 10,
        [switch] $DebugInfo
    )

我试过了,但我没有

cl25kdpy

cl25kdpy1#

使用PowerShell获得正常运行时间的扩展性不好。因此,请记住,这将需要一些时间,具体取决于AD的大小。如果需要查询特定的计算机集(即特定OU),请使用LDAP筛选器。以下链接中的示例4:https://learn.microsoft.com/en-us/powershell/module/activedirectory/get-adcomputer?view=windowsserver2022-ps
下面是一个基本脚本,它可以获取域中所有计算机的lastbootuptime信息。
另外请记住,您需要在目标PC上具有适当的权限。

#Get all relevant computers
$Computers = Get-ADComputer -Filter *

#Declare an empty array to collect custom objects from the pipeline.
$ComputerInfoCollection = @()

#Iterate all computers an get uptime information
foreach($computer in $computers){

$UpTime = (Get-CimInstance -ComputerName $computer.name -ClassName Win32_OperatingSystem -ErrorAction SilentlyContinue ).LastBootUpTime
if(!$UpTime){

    $UpTime = 'NotResolved'
}

$ComputerInfo = [PSCustomObject]@{

    'Name' = $computer.Name
    'Uptime' = $UpTime

}

$ComputerInfoCollection += $ComputerInfo

}

$ComputerInfoCollection

相关问题