下面的PowerShell脚本将列出所有共享文件夹(隐藏的共享文件夹除外),然后列出所有子文件夹,最后获取每个子文件夹的ACL信息并导出到CSV文件.
但是,我正在尝试设置它可以钻进的子文件夹的限制.例如,如果我将其设置为3,脚本将获取前三个子文件夹的ACL信息.我怎样才能做到这一点?
输入:
path=\\server\sharefolder0\subfolder01\subfolder02
path=\\server\sharefolder1\subfolder11\subfolder12\subfolder13\subfolder14
path=\\server\sharefolder2
Run Code Online (Sandbox Code Playgroud)
预期结果:
path=\\server\sharefolder0
path=\\server\sharefolder0\subfolder01
path=\\server\sharefolder0\subfolder01\subfolder02
path=\\server\sharefolder1
path=\\server\sharefolder1\subfolder11
path=\\server\sharefolder1\subfolder11\subfolder12
path=\\server\sharefolder2
Run Code Online (Sandbox Code Playgroud)
这是代码:
$getSRVlist = Get-Content .\server.txt
$outputDirPath=".\DirPathList.txt"
$outputACLInfo=".\ACLInfo.CSV"
$header="FolderPath,IdentityReference,Rights"
Del $outputACLInfo
add-content -value $header -path $outputACLInfo
foreach ($readSRVlist in $getSRVlist)
{
foreach ($readShareInfoList in $getShareInfoList=Get-WmiObject Win32_Share
-computerName $readSRVlist | Where {$_.name -notlike "*$"} | %{$_.Name})
{
foreach ($readDirPathList in
$getDirPathList=get-childitem \\$readSRVlist\$readShareInfoList -recurse
| where {$_.PSIsContainer})# | %{$_.fullname})
{
$getACLList=get-ACL $readDirPathList.fullname | ForEach-Object
{$_.Access}
foreach ($readACLList in $getACLList)
{
$a = $readDirPathList.fullname + "," +
$readACLList.IdentityReference + "," …
Run Code Online (Sandbox Code Playgroud) 可能重复:
连接行值T-SQL
我是SQL Server的新手,并尝试过几种从互联网上建议的技术,比如使用临时变量,XML路径COALESCE
等,但都不能满足我的要求.
我正在使用Toad for SQL Server 5.5来创建SQL脚本,而我用来查询DB服务器的帐户只能获得READ访问权限.因此不能使用CREATE VIEW
我相信的声明.
表名: Customer
ServerName Country contact
---------- ------- -------------
srv1 SG srv1_contact1
srv1 SG srv1_contact2
srv1 SG srv1_contact3
srv2 HK srv2_contact1
srv2 HK srv2_contact2
srv3 JP srv3_contact1
srv3 JP srv3_contact2
srv3 JP srv3_contact3
srv4 KR srv4_contact1
Run Code Online (Sandbox Code Playgroud)
预期产量:
ServerName Country contact
---------- ------- -------------------------------------------
srv1 SG srv1_contact1; srv1_contact2; srv1_contact3
srv2 HK srv2_contact1; srv2_contact2
srv3 JP srv3_contact1; srv3_contact2; srv3_contact3
srv4 KR srv4_contact1
Run Code Online (Sandbox Code Playgroud)