我正在使用此脚本将用户添加到文件夹权限。如何将该脚本的结果(成功或失败)输出到文本文件?
我尝试在末尾添加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
答案 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”
在脚本使用结束时 停止转录