【问题标题】:Write output of powershell script to a file (local directory)将 powershell 脚本的输出写入文件(本地目录)
【发布时间】:2019-05-03 15:49:15
【问题描述】:

我对 PowerShell 不太了解,但我想知道如何将脚本的输出(以下摘录)写入本地目录中的文件,而不是屏幕上?

{
    $userEntry = $result.GetDirectoryEntry()
    Write-Host "User Name = " $userEntry.name
    foreach ($SPN in $userEntry.servicePrincipalName)
    {
        Write-Host "SPN = " $SPN       
    }
    Write-Host ""    
}

【问题讨论】:

标签: powershell file output


【解决方案1】:

Out-File 替换Write-Host-Append 参数:

{
    $userEntry = $result.GetDirectoryEntry()
    "User Name = $($userEntry.name)" | Out-File Output.txt -Append
    foreach ($SPN in $userEntry.servicePrincipalName)
    {
        "SPN = $SPN" | Out-File Output.txt -Append
    }
    "" | Out-File Output.txt -Append  
}

Out-File 将直接写入文件,Tee-Object 将同时输出到屏幕到文件。

【讨论】:

  • 你好 HAL9256。我尝试了您的代码,但收到以下错误:
  • 表达式或语句中出现意外的令牌“userEntry”。 + "用户名 = "$userEntry [], ParseException + FullyQualifiedErrorId : UnexpectedToken
  • 啊。我忘了添加+,所以它应该是:"User Name = " + $userEntry.name 另一种方法(imo 更好的方法)是将对象包装在$() 中并将其放在字符串中,因为您可以更好地控制格式化。我已编辑答案以显示此方法。
  • 工作就像一个魅力!!!!!!非常感谢HAL9256!!!!小心。干杯,约翰。
  • @John 作为 SO 的新贡献者,您可能不知道这一点,但是当给出解决您问题的答案时,通常会通过接受来奖励该答案.您可以通过单击左侧的 ✓ 来执行此操作。见How to accept SO answers。这将帮助其他有类似问题的人更轻松地找到它。
猜你喜欢
  • 1970-01-01
  • 2013-08-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-03-16
  • 2017-12-10
  • 2015-08-22
  • 2017-01-09
相关资源
最近更新 更多