我的脚本忽略了一些代码

时间:2016-10-13 07:12:22

标签: powershell ps1

我有这个脚本,如果它们运行超过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?

1 个答案:

答案 0 :(得分:0)

主题已关闭,我自己找到了解决方案。

对于遇到同样问题的每个人:只需为每个OU进行循环播放。

$ComputerList = x
$ComputerList1 = x
....