我有以下脚本。
$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输出???
非常感谢!
答案 0 :(得分:1)
Write-Host
仅写入控制台,显然其输出无法重定向到文件。您应该使用Write-Output
代替。
请注意,Write-Host
包含-Foreground
和-Background
颜色的选项,这导致它的目的只是为了写入控制台窗口。