如何列出位于不同服务器上的文件夹权限
How to list folder permissions located on a different server
我对 PowerShell 还很陌生,运行 遇到了问题。
我想做以下事情:
获取与我 运行 我的 PowerShell window 来自的不同服务器上的单个文件夹中的 permissions/users 列表。
当前命令失败:
Get-acl -path "\servername\folder"
错误信息:
Get-acl : Cannot find path '\servername\folder' because it does not exist
这个命令只能在本地机器上运行吗?
该命令也适用于 UNC 路径,但 UNC 路径与本地路径略有不同。您需要一个访问点才能进入远程主机的文件系统。对于 SMB/CIFS 访问(通过 UNC 路径),访问点是共享文件夹,因此您需要路径 \server\share
或 \server\share\path\to\subfolder
.
使用管理员帐户,您可以使用管理共享(例如 \server\C$\Users\Administrator
),否则您需要先创建一个共享。
事实证明 permissions/authentications 在我的环境中设置的方式阻止了我的代码工作。
以下是我用来验证是否可以连接到服务器的步骤:
Test-Path \server\folder
这返回了 "False",这就是我的代码被破坏的原因。
我使用的解决方法是:
#Step 1: remotely connect to server
Enter-PSSession -ComputerName servernamegoeshere
#Step 2: get list of permissions on folder and save to csv
get-acl E:\foldernamehere |
select -expand access |
export-csv C:\Users\usernamegoeshere\Documents\listofperms.csv |
#Step 3: close remote connection
Exit-PSSession
我仍然必须远程进入服务器并将 csv 复制到我想要的位置,因为再一次,由于 permission/authentication 问题,在 PowerShell 中任何复制到另一个 server/share 的命令都无法工作。
这篇文章解释 authentication/permissions 比我好一点:
由于用户 Ansgar Wiechers,第二种使用更少代码且无需创建远程会话的方法:
Invoke-Command -Computer server -ScriptBlock {get-acl E:\folder |
select -expand access } |
export-csv \server\folder\accesslist.csv
使用PowerShell,做一件事有很多种方法...我认为这种方法best/most简单!谢谢!
我对 PowerShell 还很陌生,运行 遇到了问题。
我想做以下事情:
获取与我 运行 我的 PowerShell window 来自的不同服务器上的单个文件夹中的 permissions/users 列表。
当前命令失败:
Get-acl -path "\servername\folder"
错误信息:
Get-acl : Cannot find path '\servername\folder' because it does not exist
这个命令只能在本地机器上运行吗?
该命令也适用于 UNC 路径,但 UNC 路径与本地路径略有不同。您需要一个访问点才能进入远程主机的文件系统。对于 SMB/CIFS 访问(通过 UNC 路径),访问点是共享文件夹,因此您需要路径 \server\share
或 \server\share\path\to\subfolder
.
使用管理员帐户,您可以使用管理共享(例如 \server\C$\Users\Administrator
),否则您需要先创建一个共享。
事实证明 permissions/authentications 在我的环境中设置的方式阻止了我的代码工作。
以下是我用来验证是否可以连接到服务器的步骤:
Test-Path \server\folder
这返回了 "False",这就是我的代码被破坏的原因。 我使用的解决方法是:
#Step 1: remotely connect to server
Enter-PSSession -ComputerName servernamegoeshere
#Step 2: get list of permissions on folder and save to csv
get-acl E:\foldernamehere |
select -expand access |
export-csv C:\Users\usernamegoeshere\Documents\listofperms.csv |
#Step 3: close remote connection
Exit-PSSession
我仍然必须远程进入服务器并将 csv 复制到我想要的位置,因为再一次,由于 permission/authentication 问题,在 PowerShell 中任何复制到另一个 server/share 的命令都无法工作。
这篇文章解释 authentication/permissions 比我好一点:
由于用户 Ansgar Wiechers,第二种使用更少代码且无需创建远程会话的方法:
Invoke-Command -Computer server -ScriptBlock {get-acl E:\folder |
select -expand access } |
export-csv \server\folder\accesslist.csv
使用PowerShell,做一件事有很多种方法...我认为这种方法best/most简单!谢谢!