当前位置: 首页 > 知识库问答 >
问题:

正在获取不带远程powershell或WMI的远程SMB/CIFS共享的权限

太叔小云
2023-03-14

我正在寻找从连接到共享的Windows计算机导出SMB/CIFS共享的ACL(不要与NTFS ACL混淆)的方法。到目前为止,我可以在共享的高级安全属性中看到权限,但除了AutoIT怪物之外,无法导出或解析它们。

我想以我可以解析的格式获取这些信息,无论是CSV、JSON、XML等。

我已经检查了这个问题,该问题建议使用Powershell的Get-SmbShareAccess:使用Powershell检索远程文件共享“共享权限”,以及这个使用Get-WmiObject:Get-WmiObject Win32_Share的TechNet问题,该问题不显示共享权限,但都假设我们可以在托管服务器上执行Powershell代码共享:我的情况不是这样,因为共享不在windows上,而且我没有对机器的shell访问权限。

我对任何语言都持开放态度,但如果有选择的话,我更喜欢Powershell。

共有1个答案

闻人宜
2023-03-14

Windows资源管理器通过win32 API方法NetShareGetInfo()使用RPC,但直接从Powershell调用它并不容易。

FileShareUtils是一个很棒的gallery模块,可以为您实现所有这些功能,也是我能找到的最佳选项:

$share = Get-NetShare -Name 'MyShare' -Server 'MyFileServer01'
Server              : MyServer01
Name                : MyShare
Path                : E:\Folder\Path
Description         : 
ABE                 : Enabled
CachingMode         : Manual
ShareACLText        : BUILTIN\Administrators|FullControl,Everyone|FullControl
CurrentUses         : 4
ConcurrentUserLimit : -1
BranchCache         : Disabled
Flags               : 2051
Type                : Disk Drive
ShareSDDL           : D:(A;;FA;;;WD)(A;;FA;;;BA)
ShareACL            : System.Security.AccessControl.DirectorySecurity
$share.ShareACL.Access


FileSystemRights  : FullControl
AccessControlType : Allow
IdentityReference : Everyone
IsInherited       : False
InheritanceFlags  : None
PropagationFlags  : None

FileSystemRights  : FullControl
AccessControlType : Allow
IdentityReference : BUILTIN\Administrators
IsInherited       : False
InheritanceFlags  : None
PropagationFlags  : None

我无法测试整个Get-NetShare是否作为非管理员用户工作,但是如果您可以在文件资源管理器中看到共享权限,那么这应该适合您。如果您仍然收到拒绝访问的消息,那么您可以通过模块代码来工作,并查看其中的位置/原因。

 类似资料:
  • 问题内容: 我有一个在Docker容器中运行的Web应用程序。此应用程序需要访问我们公司文件服务器(带有Active Directory域控制器的Windows Server)上的某些文件。我尝试访问的文件是为我们的客户创建的图像文件,Web应用程序将它们显示为客户产品组合的一部分。 在我的开发机器上,我通过条目安装了适当的文件夹,并且通过参数将主机安装点安装在Docker容器中。这很完美。 现在

  • 我想连接到SMB服务器,浏览其文件,并为给定的路径,能够检索文件和文件夹的列表,名称和权限。 我需要支持所有SMB方言,并且能够从我的代码中做到这一点。 代码大致如下所示: 我尝试了一些选项,如smbj、impacket、nmap、samba,但它们似乎都不能满足我上面的要求。 是否有任何方法可以通过使用Java、Python或我可以从Java代码中调用的任何linux CLI来实现上述目标?

  • 我必须更新一个旧的文件共享软件,该软件使用JCIFS for Windows Server 2012。出于安全目的,我们必须禁用SMB 1.0/CIFS兼容性。有人知道可以在Java中使用的变通方法或修复程序或JCIFS的替代方案吗?

  • 问题内容: 我正在尝试设置一个脚本,该脚本将: 连接到Windows共享 使用LOAD DATA LOCAL INFILE,将两个文件上载到相应的数据库表中 数量份额 情况: 我目前可以vpnc进入这台远程计算机 问题: 我不能 我尝试首先手动执行此操作 远程服务器打开到端口445 问题: 我什至需要先使用vpnc吗? vpnc之后是否需要为远程ip / mask / gw添加路由? 谢谢! 问题

  • 我想从docker容器访问Windows文件共享(SMB3),但我不想损害主机的安全性。我读过的所有指南都说明我需要使用标志或功能。 下面是我使用的命令: -t cifs-o用户名='some_account@mydomain.internal',密码='some_password'//192.168.123.123/MyShare /mnt/myshare 其结果是: 无法应用新的功能集。 当我

  • 我的groovy脚本都在git存储库中,使用jenkins checkout SCM。其中一个groovy脚本中有一些常用函数,我想使这个groovy成为一个共享库,而无需打开jenkins并在jenkins管理表中添加共享库。 我可以使用RESTAPI或其他方法添加新库吗?