私はこのスクリプトを持っている:私はOut-Fileを特別な行にしたいのですが、行えないようですか?
function Get-LastBootUpTime {
param (
$ComputerName
)
$OperatingSystem = Get-WmiObject Win32_OperatingSystem -ComputerName $ComputerName
[Management.ManagementDateTimeConverter]::ToDateTime($OperatingSystem.LastBootUpTime)
}
$Days = -1
$ShutdownDate = (Get-Date).adddays($days)
$ComputerList = Get-ADComputer -SearchBase 'OU=X,OU=X,DC=X,DC=X' -Filter '*' |
Select -EXP Name
$ComputerList | foreach {
$Bootup = Get-LastBootUpTime -ComputerName $_
Write-Host "$_ last booted: $Bootup"
if ($ShutdownDate -gt $Bootup) {
Write-Host "Rebooting Computer: $_" -ForegroundColor Red
Restart-Computer $_ -Force
} else {
Write-Host "No need to reboot: $_" -ForegroundColor Green
}
}
それはオンライン1日以上あるすべてのPCをシャットダウンします。
正常に動作しますが、シャットダウンしたPCを示す.txtとしてOut-File
が必要です。そのため、「PCxをシャットダウンする必要がある」というメッセージか、PCxの稼働時間のどちらかです。私はOut-File
でそれをやろうとしましたが、私が望む情報は決して読みません。何か案は?
"$_ last booted: $Bootup" | tee -Append log.txt
は、それがファイルにテキストを追加して画面に出力します:
Powershellのバージョンは何ですか?「...私が欲しい情報を決して読み取らない...」とはどういう意味ですか? – rrirower
あなたのコードのどこにでも 'Out-File'が表示されません。動作していないコードを表示して、結果が期待したものとどのように異なるかを説明してください。 –
@rrirowerそれは.txtファイルが常に空で、私がpowershellを使用していることを意味します。 – Gunter