我有一个非常奇怪的问题。我写了一个脚本,我在注册表中搜索其他电子邮箱。在我找到(只是人名)后,我想将其添加到我的日志文件中,以便使用该脚本的人可以看到它。但是,当我尝试将我的查找附加到我的日志文件时,不仅它不会添加它,而且还会停止记录脚本的其余部分。
以下是我尝试过的事情,结果是一样的。记录停止。
从注册表中获取值作为字符串将其附加到我的日志文件
获取值,将其转换为字符串并追加。
我的示例脚本如下。我已经多次改变它,尝试不同的变化,结果相同。
$key = "HKCU:\Software\Microsoft\Office\15.0\Outlook\Profiles\Mail\"
$val = "001f3001"
foreach ($subkey in $key) {
try {
$result = [System.Text.Encoding]::Unicode.GetString((gp $key)."001f3001") # tried changing this part to different variations to get the data
if (($result -match "Microsoft Exchange*") -or ($result -match "Outlook Address Book")) {
Out-Null
} else {
$result | Out-File -Append "C:\temp\r.txt"
# tried appending the result to my log file directly here with same result.
}
} catch {
Out-Null
}
}
"Additional email boxes: "
$mb = Get-Content "C:\temp\r.txt" # tried piping directly to the log file with same result.
$mb | Out-File -Append $logfile -Force
我的日志文件显示所有内容,直到我将结果附加到其中并停止。
.....log starts..... ..... ..... ..... Additional email boxes: ======= log files stop =====
我的r.text文件包含我正在寻找的所有值。
更新 我注意到如果我将文件保存为" .log"我什么也看不见。任何其他扩展名.txt,.csv等我可以看到内容,但仍然无法将其附加到我的日志文件中。
答案 0 :(得分:1)
如果您没有明确提供参数名-FilePath
,则必须将FilePath参数放在第一个位置。
请阅读Out-File
的帮助: