【问题标题】:Powershell windows shares without WMI没有 WMI 的 Powershell Windows 共享
【发布时间】:2013-05-17 11:28:08
【问题描述】:

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

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

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

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

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

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

【问题讨论】:

  • net view \\computername 对他们有用吗?键入 net view /? 以获取有关此命令的帮助。从命令提示符或 PS 提示符运行它。
  • 把它写成一个实际的响应,这样我就可以给你一个复选标记:) ...需要做一些字符串解析,但让我最不担心...谢谢你

标签: powershell-2.0 share


【解决方案1】:

net view \\computername 是否为他们工作?键入 net view /? 以获取有关此命令的帮助。从命令提示符或 PS 提示符运行它。

【讨论】:

    【解决方案2】:

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

    ([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}}
    )
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-01-18
      • 2020-06-01
      • 2017-11-16
      • 2021-04-16
      • 1970-01-01
      • 2019-09-25
      • 2011-08-17
      • 1970-01-01
      相关资源
      最近更新 更多