我希望有一个人可以帮助我。我对 PowerShell 很陌生,除了查看现有代码并对其进行修改之外,我无法真正自己编写脚本。
我找到了一个 PowerShell 脚本,它报告特定共享的文件共享权限,并通过返回其权限的子文件夹递归。
我的问题是我需要对很多共享执行此操作,因此希望能够为脚本提供包含共享名称的文本文件。我知道我需要为每个循环执行一次,并将文本文件中的共享名称读入一个数组,但我不知道该怎么做。我想对于有更多经验的人来说这很简单。
这是我使用单条目的脚本。
#Set variables
$path = Read-Host "Enter the path you wish to check"
$filename = Read-Host "Enter Output File Name"
$date = Get-Date
#Place Headers on out-put file
$list = "Permissions for directories in: $Path"
$list | format-table | Out-File "C:\scripts\$filename"
$datelist = "Report Run Time: $date"
$datelist | format-table | Out-File -append "C:\scripts\$filename"
$spacelist = " "
$spacelist | format-table | Out-File -append "C:\scripts\$filename"
#Populate Folders & Files Array
[Array] $files = Get-ChildItem -path $path -force -recurse
#Process data in array
ForEach ($file in [Array] $files)
{
#Convert Powershell Provider Folder Path to standard folder path
$PSPath = (Convert-Path $file.pspath)
$list = ("Path: $PSPath")
$list | format-table | Out-File -append "C:\scripts\$filename"
Get-Acl -path $PSPath | Format-List -property AccessToString | Out-File -append "C:\scripts\$filename"
} #end ForEach
对不起菜鸟问题。我计划在我有更多时间时了解更多信息,但现在任何帮助都将不胜感激。
提前致谢。