filippg
Goto Top

Shares auflisten ohne WMI

Hallo,

ich möchte in einem Skript die Shares auf einer NAS auslesen. Am besten per Powershell. Dazu finden sich ca 50.000 Artikel, die zeigen, wie das mit WMI ganz leicht geht. Leider unterstützt das NAS-System kein WMI. Aber die Shares lassen sich remote auslesen (z.B. mit MMC oder Hyena). Ein Tool wie ShareEnum bringt mir nicht so richtig was, weil ich dann den Output wieder parsen müsste, außerdem greift es vielleicht auch auf WMI zu und kann deswegen nicht verwendet werden.
Frage daher:
Welche grundsätzliche Möglichkeit gibt es neben WMI noch, um Shares aufzulisten? Wie fragt die MMC die Liste ab? Und toll wären Beispiele, wie man das skripten kann, am besten mit Powershell.

Gruß & Danke

Filipp

Content-ID: 138416

Url: https://administrator.de/contentid/138416

Ausgedruckt am: 21.11.2024 um 23:11 Uhr

Dynadrate
Dynadrate 16.03.2010 um 22:40:43 Uhr
Goto Top
NET VIEW
[\\Computername [/CACHE] | /DOMAIN[:Domänenname]]
NET VIEW /NETWORK:NW [\\Computername]
filippg
filippg 17.03.2010 um 10:33:57 Uhr
Goto Top
Hallo,

danke für die Antwort.
Was ich leider vergessen hatte zu schreiben: ich benötige auch die versteckten Shares, die gibt mir net view... offenbar nicht aus. Daneben müsste ich da den Output wieder halbwegs aufwändig parsen.

Gruß

Filipp
Dynadrate
Dynadrate 17.03.2010 um 12:25:41 Uhr
Goto Top
RMTSHARE \\server
\\server\sharename
\\server\sharename=drive:path [/USERS:number | /UNLIMITED]
[/REMARK:"text"]
[/GRANT [user[:perm][ /GRANT user[:perm]]]]
[/REMOVE user]
\\server\sharename=printername /PRINTER [/USERS:number | /UNLIMITED]
[/REMARK:"text"]
[/GRANT [user[:perm][ /GRANT user[:perm]]]]
[/REMOVE user]
\\server\sharename [/USERS:number | /UNLIMITED]
[/REMARK:"text"]
[/GRANT [user[:perm][ /GRANT user[:perm]]]]
[/REMOVE user]
\\server\sharename /DELETE

NOTE: if a sharename or path contains spaces, it should be enclosed
in quotes:
\\server\"with space"="c:\with space"

Das mit dem parsen bleibt dir aber.
filippg
filippg 17.03.2010 um 17:46:10 Uhr
Goto Top
Hallo,

habe jetzt etwas geeignetes gefunden, die Shares können per ADSI (bestimmt auch LDAP) abgefragt werden. In der Powershell

$adsi = [adsi]"WinNT://meinserver/LanmanServer,FileService"
$adsi.psbase.children | SELECT Description, HostComputer, Name, Path

Schöheitsfehler: die Built-In (C$) werden nicht aufgelistet (andere versteckte aber schon).

Gruß & Danke

Filipp