我有一个简单的Powershell代码,如果服务器启动,它会ping服务器,然后禁用本地管理员帐户。如何将结果输出到日志文件,以便记录我已禁用的内容。
这是我到目前为止所拥有的
$computers = Get-ADComputer -filter {OperatingSystem -like "Windows Server*"} |
ForEach ($computer in $computers) {
$rtn = Test-Connection -CN $computer -Count 1 -BufferSize 16 -Quiet
IF($rtn -match 'True') {
write-host -ForegroundColor green $computer | Disable-localUserAccount -ComputerName $computer -username Administrator
} ELSE {
Write-host -ForegroundColor red $computer
}
}
答案 0 :(得分:7)
Write-Host
直接写入控制台。该输出无法重定向到文件。如果要将输出重定向到文件,请将其替换为Write-Output
并删除花哨的颜色。此外,我将计算机列表导入ForEach-Object
循环,因此您可以直接将输出写入文件。并且Test-Connection
返回一个布尔值,因此您可以直接在条件中使用它:
$computers | % {
if (Test-Connection -CN $_ -Count 1 -BufferSize 16 -Quiet) {
Write-Output "$_ online"
Disable-localUserAccount -ComputerName $_ -username Administrator
} else {
Write-Output "$_ offline"
}
} | Out-File 'C:\path\to\your.log'