如何在AD中使用此param获取计算机,有人能帮助我吗?
param
Param( [string] $ComputerName = $env:computername, [int] $NumberOfDays = 10, [switch] $DebugInfo )
我试过了,但我没有
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
1条答案
按热度按时间cl25kdpy1#
使用PowerShell获得正常运行时间的扩展性不好。因此,请记住,这将需要一些时间,具体取决于AD的大小。如果需要查询特定的计算机集(即特定OU),请使用LDAP筛选器。以下链接中的示例4:https://learn.microsoft.com/en-us/powershell/module/activedirectory/get-adcomputer?view=windowsserver2022-ps
下面是一个基本脚本,它可以获取域中所有计算机的lastbootuptime信息。
另外请记住,您需要在目标PC上具有适当的权限。