我有这个脚本,如果它们运行超过2天,它会关闭OU中的每台PC:
@Pointcut(execution(* com.company.project.MyActivity.onCreate(..)))
如果我运行它,它只适用于 function Get-LastBootUpTime {
param (
$ComputerName
)
$OperatingSystem = Get-WmiObject Win32_OperatingSystem -ComputerName $ComputerName
[Management.ManagementDateTimeConverter]::ToDateTime($OperatingSystem.LastBootUpTime)
}
$Days = -2
$ShutdownDate = (Get-Date).adddays($days)
$ComputerList = Get-ADComputer -SearchBase 'OU=X,DC=X,DC=X' ` -Filter '*' | Select -EXP Name
Get-ADComputer -SearchBase 'OU=X,DC=X,DC=X' ` -Filter '*' | Select -EXP Name
Get-ADComputer -SearchBase 'OU=X,DC=X,DC=X' ` -Filter '*' | Select -EXP Name
Get-ADComputer -SearchBase 'OU=X,DC=X,DC=X' ` -Filter '*' | Select -EXP Name
Get-ADComputer -SearchBase 'OU=X,DC=X,DC=X' ` -Filter '*' | Select -EXP Name
Get-ADComputer -SearchBase 'OU=X,DC=X,DC=X' ` -Filter '*' | Select -EXP Name
Get-ADComputer -SearchBase 'OU=X,DC=X,DC=X' ` -Filter '*' | Select -EXP Name
Get-ADComputer -SearchBase 'OU=X,DC=X,DC=X' ` -Filter '*' | Select -EXP Name
Get-ADComputer -SearchBase 'OU=X,DC=X,DC=X' ` -Filter '*' | Select -EXP Name
Get-ADComputer -SearchBase 'OU=X,DC=X,DC=X' ` -Filter '*' | Select -EXP Name
Get-ADComputer -SearchBase 'OU=X,DC=X,DC=X' ` -Filter '*' | Select -EXP Name
Get-ADComputer -SearchBase 'OU=X,DC=X,DC=X' ` -Filter '*' | Select -EXP Name
Get-ADComputer -SearchBase 'OU=X,DC=X,DC=X' ` -Filter '*' | Select -EXP Name
Get-ADComputer -SearchBase 'OU=X,DC=X,DC=X' ` -Filter '*' | Select -EXP Name
Get-ADComputer -SearchBase 'OU=X,DC=X,DC=X' ` -Filter '*' | Select -EXP Name
Get-ADComputer -SearchBase 'OU=X,DC=X,DC=X' ` -Filter '*' | Select -EXP Name
Get-ADComputer -SearchBase 'OU=X,DC=X,DC=X' ` -Filter '*' | Select -EXP Name
$ComputerList | foreach {
$Bootup = Get-LastBootUpTime -ComputerName $_
Write-Output "$_ last booted: $Bootup" | tee -Append C:\Scripts\Shutdown\log.txt
if ($ShutdownDate -gt $Bootup) {
Write-Output "Rebooting Computer: $_" | tee -Append C:\Scripts\Shutdown\shutdown.txt
Stop-Computer $_ -Force -WhatIf
}
else {
Write-Output "No need to reboot: $_" | tee -Append C:\Scripts\Shutdown\shutdown.txt
}
}
中的第一个OU,并完全忽略其余部分。所以结果将是这样的:
“无需重启PCx
重新启动计算机PCy“
但是在所有的OU中都有超过120台PC。任何人都知道如何让$ComputerList
识别出不同OU中的所有OU和PC?
答案 0 :(得分:0)
主题已关闭,我自己找到了解决方案。
对于遇到同样问题的每个人:只需为每个OU进行循环播放。
$ComputerList = x
$ComputerList1 = x
....