如何将PowerShell脚本的结果输出到文本文件

时间:2019-04-20 16:16:03

标签: powershell

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

我尝试在末尾添加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

2 个答案:

答案 0 :(得分:0)

使用:

| 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”命令或结束会话。

答案 1 :(得分:0)

您可以使用“开始记录”和脚本的开头,并在结尾处停止记录。 这将在您提到的文件中捕获脚本执行。

开始脚本-路径“ C:\ transcripts \ transcript.txt”

在脚本使用结束时 停止转录