0

简单的问题,虽然我担心我不会喜欢答案。目前我有一个用于执行权限审核的脚本,递归地获取文件夹然后获取 acl... 等等。

我将此行用于实用程序的浏览部分:

$Shares = Get-WmiObject -Class Win32_Share -ComputerName $text | Where-Object { $_.type  -ne 1}

这工作得很好,但是我希望我们最低级别的技术人员能够运行它。他们有足够的权限来执行所有 get-acl 调用,但是他们无法浏览我写的浏览器,因为他们不是服务器管理员,他们必须是执行 WMI 调用。

长话短说...有没有一种方法可以在没有 WMI 调用的情况下从服务器获取共享列表?我在我的谷歌搜索中找不到方法……但是我很难接受这一点,因为所有用户都可以在他们的资源管理器中输入“\servername\”,然后他们就在那里……必须是一种模仿的 powershell 方式。

欢迎所有提示、概念和疯狂的想法

4

2 回答 2

1

net view \\computername对他们有用吗?键入net view /?此命令的帮助。从命令提示符或 PS 提示符运行它。

于 2013-05-17T13:04:53.033 回答
1

不确定这是否适合你,但试试这个:

([adsi]"WinNT://$computername/LanmanServer,FileService").Children | Select-Object @(
  @{n='CurrentUserCount';e={$_.CurrentUserCount}}
  @{n='Name';            e={$_.Name.Value}}
  @{n='Server';          e={$_.HostComputer | Split-Path -Leaf}}
  @{n='Path';            e={$_.Path.Value}}
  @{n='Description';     e={$_.Description.Value}}
)
于 2015-04-28T16:16:36.247 回答