将Powershell Script元素输出到日志文件

时间:2015-03-26 00:06:02

标签: powershell

我有以下脚本。

$log = "C:\DNSLog.txt"

############ GET THE LIST OF RECORDS
$zones = Get-Content "C:\dnslist.txt"

############ TRANSFER THE ZONES TO THE MASTER SERVER
Write-Host "Transferring the zones to the master server..."
foreach ($zone in $zones) {
    Write-Host $zone >> $log
    dnscmd . /zoneadd $zone /Secondary 10.x.x.x >> $log
}

这似乎并没有输出我需要的日志文件。我所得到的只是"写主机"一部分。没有反馈来自" dnscmd"命令。我希望看到这个(因为在这种情况下区域已经存在,但是你得到了成功/失败的重点):

domain1.com

Command failed:  DNS_ERROR_ZONE_ALREADY_EXISTS     9609    0x2589

如果我这样做:

    Write-Host $zone
    dnscmd . /zoneadd $zone /Secondary 10.x.x.x >> $log

我得到了dnscmd输出而没有" write-host"反馈(如预期)。我做错了什么,不让我在日志文件中获得"写主机和dnscmd输出???

非常感谢!

1 个答案:

答案 0 :(得分:1)

Write-Host仅写入控制台,显然其输出无法重定向到文件。您应该使用Write-Output代替。

请注意,Write-Host包含-Foreground-Background颜色的选项,这导致它的目的只是为了写入控制台窗口。

相关问题