【问题标题】:Powershell query WIN->LINUXPowershell查询WIN->LINUX
【发布时间】:2017-02-15 16:01:30
【问题描述】:

这是我在 StackOverflow 上的第一篇文章。这是我的问题:

两台服务器:

Linux-FileServer,具有不同的共享,打开端口 445 (NO ACCESS VIA SSH)

Windows-我可以从mmc控制台访问linux服务器,查看所有共享,共享权限,ntfs权限。

我想做的是从linux机器中分配的每个共享中获取所有共享权限(不是ntfs)。

我想使用 powershell 执行此操作,我已经看到了 usign WMI 的解决方案,但我无法使用 WMI 查询 linux。

有谁知道我如何使用 Powershell 做到这一点? Windows 上的 MMC 控制台可以访问该信息,所以我认为我想做的事情是可能的。

谢谢!

【问题讨论】:

  • 如果那是一个普通的文件服务器,那么调用 FTP 有什么问题。如果是samba,那么你可以试试smbstatus --shares
  • 请阅读:Ask good questions
  • 谢谢,对不起,我无法通过 ssh 或终端访问那台 linux 机器。
  • 好的。让我直接问你。如果那是 FTP 共享,那么您可以直接访问我相信的。如果不是,那么它是什么类型的共享以及现在如何手动访问。
  • 我可以通过具有读/写权限的 UNC \\linuxmachine\sharexxx 访问所有共享。从 MMC(Microsoft 管理控制台)我可以添加共享文件夹管理单元,然后连接到其他计算机(linuxmachine),我可以查看所有共享,在属性上查看所有共享/ntfs 权限。有成千上万的共享,所以这就是我必须编写脚本的原因。我已经拥有所有共享的 ntfs 权限,我需要共享级别的权限。

标签: linux windows powershell share wmi


【解决方案1】:

将网络路径挂载为临时驱动器,然后能够使用 shell 浏览它。

使用此命令将网络路径\server\share 挂载到P:

New-PSDrive -Name P -PSProvider FileSystem -Root \\server\share

你可以使用 net use 或 Wscript.Network 来实现它:

$net = new-object -ComObject WScript.Network
$net.MapNetworkDrive("u:", "\\server\share", $false, "domain\user", "password")

注意:我不确定你是如何在没有 ssh 或其他东西的情况下进入该服务器的。如果您可以通过 UNC 访问,那么您可以简单地映射它或像我提到的那样使用它。否则请使用 Posh-SSH 模块(如果您有 ssh 访问权限),这将帮助您访问。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-06-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-20
    • 2023-03-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多