我一直在使用一個腳本來完成我所需要的功能。它將採用驅動器共享路徑,獲取訪問控制列表,並將其導出到.csv文件以供日後編輯。我的問題是,我無法弄清楚如何將多個驅動器路徑值傳遞給腳本。我想使用.txt或.csv文件將共享內容提供給腳本,並讓它在一夜之間運行。起源網站說,分配在命令行中的變量,並使用此命令:將.csv值傳遞給PowerShell中的腳本
$allServersVariable -FilePath C:\Scripts\MyPermissionsScript.ps1 -ArgumentList "E:\list" | Export-Csv C:\Scripts\ScanResults.csv –NoTypeInformation
我卻無法得到這個命令的工作。不過,我可以做到以下幾點,並處理一個同時共享:
.\MyPermissionsScript.ps1 \\\192.168.1.1\SharedFiles | Export-Csv C:\Scripts\ScanResults.csv -NoTypeInformation
下面是腳本:
function Get-PathPermissions {
param (
[Parameter(Mandatory=$true)]
[System.String]${Path}
)
begin {
$root = Get-Item $Path
($root | get-acl).Access | Add-Member -MemberType NoteProperty -Name "Path" -Value $($root.fullname).ToString() -PassThru
}
process {
$containers = Get-ChildItem -path $Path -recurse | ? {$_.psIscontainer -eq $true}
if ($containers -eq $null) {break}
foreach ($container in $containers)
{
(Get-ACL $container.fullname).Access | format-list -property Path, AccessToString
}
}
}
Get-PathPermissions $args[0]
這已經快把我逼瘋了。任何幫助是極大的讚賞!
謝謝你的幫助!我還有幾個問題需要解決,但這對我來說是一個很好的開始!再次感謝! – kanecain