我有下面的剧本。
$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输出,没有“写-主机”反馈(如预期)。我做错了什么不让我在日志文件中获得“写主机和dnscmd输出?”
非常感谢!
发布于 2015-03-26 00:13:20
Write-Host
只写入控制台,显然它的输出不能重定向到文件。您应该使用Write-Output
代替。
注意,Write-Host
有用于-Foreground
和-Background
颜色的选项,这就产生了这样的想法:它实际上只是为了写入控制台窗口。
https://stackoverflow.com/questions/29268838
复制相似问题