【问题标题】:How to output result of a PowerShell script to a text file如何将 PowerShell 脚本的结果输出到文本文件
【发布时间】:2019-04-21 11:57:04
【问题描述】:

我正在使用此脚本将用户添加到文件夹权限。如何将此脚本的结果(成功或失败)输出到文本文件?

我尝试在末尾添加 2> "OutputPath" 以将输出流式传输到此位置,但它不起作用。

$ProjectName = "ProjetName"
$Folder = "FolderPath" + $ProjectName
Get-Acl $Folder
$ColRights = [System.Security.AccessControl.FileSystemRights]"Modify, ListDirectory"
$InheritanceFlagSetting = @("ContainerInherit","ObjectInherit")
$PropagationFlagSetting = "None"
$InheritanceFlag = [System.Security.AccessControl.InheritanceFlags]$InheritanceFlagSetting
$PropagationFlag = [System.Security.AccessControl.PropagationFlags]$PropagationFlagSetting
$objType =[System.Security.AccessControl.AccessControlType]::Allow
$objUser = New-Object System.Security.Principal.NTAccount("Username")
$objACE = New-Object System.Security.AccessControl.FileSystemAccessRule ($objUser, $colRights, $InheritanceFlag, $PropagationFlag, $objType)

#Get the ACL for the folder (so we can add to it)
$objACL = Get-Acl $Folder
$objACL.AddAccessRule($objACE)

#publish the new ACL with additional rule
Set-Acl $Folder $objACL

【问题讨论】:

  • 你期待什么输出?您对Get-ACL、Set-ACL 和$objACL.AddAccessRule()(不返回值)的调用是唯一没有在变量中捕获的表达式,所以您应该看到的就是这些。为什么要专门使用2>?

标签: powershell


【解决方案1】:

使用:

| Out-File -FilePath C:\FileName.log

在您的执行点将创建一个新文件或覆盖具有相同名称的现有文件。类似于使用

> C:\FileName.log

当您只有一个执行点要捕获或当您想要覆盖现有文件时使用这些命令。

使用:

| Out-File -FilePath C:\FileName.log -Append

如果新文件尚不存在,则在执行时将创建一个新文件,或者如果它确实存在,它会写入文件的末尾(附加)。类似于使用

>> C:\FileName.log

当您想继续使用同一个文件时使用这些方法。

另一个选项是使用:

Start-Transcript -Path C:\FileName.log 

(也可以与 -Append 一起使用)在脚本的开头。当您启动它时,它将记录随后的所有内容,包括脚本中的代码。要关闭它,您需要使用“Stop-Transcript”命令或结束会话。

【讨论】:

    【解决方案2】:

    您可以使用 Start-Transcript 和脚本的开头并在结尾处停止脚本。 这将在您提到的文件中捕获您的脚本执行。

    Start-Transcript -Path "C:\transcripts\transcript.txt"

    在您的脚本使用结束时 停止成绩单

    【讨论】:

    • 很好,这确实捕获了文件中的所有输出而无需重定向;所以控制台仍然显示所有内容。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-02-06
    • 1970-01-01
    • 2016-03-11
    • 1970-01-01
    • 1970-01-01
    • 2018-08-26
    • 2015-01-12
    相关资源
    最近更新 更多