batchanfaenger91
Goto Top

Batch: Net share Alternative

Hallo

über Net Share "Sharename" ist es möglich die Berechtigungen zu lesen. Meine Frage ist, gibt es auch andere Möglichkeiten? ohne Powershell zu verwenden die Berechtigungen zu lesen evtl ein andere Windows Befehl ?

Viele Grüße

Content-ID: 284386

Url: https://administrator.de/forum/batch-net-share-alternative-284386.html

Ausgedruckt am: 10.01.2025 um 06:01 Uhr

mrtux
mrtux 01.10.2015 um 17:43:58 Uhr
Goto Top
Hi!

Wieso Powershell? Warum nicht einfach nur die Shell?

mrtux
BatchAnfaenger91
BatchAnfaenger91 01.10.2015 um 17:50:07 Uhr
Goto Top
Hi

ich würde den Befehl dann direkt in mein BatchSkricpt einbauen
TlBERlUS
TlBERlUS 02.10.2015 aktualisiert um 08:23:06 Uhr
Goto Top
Zitat von @BatchAnfaenger91:
ich würde den Befehl dann direkt in mein BatchSkricpt einbauen

Dir ist bewußt, dass Net Share ohne Probleme auch in der cmd/batch läuft?
BatchAnfaenger91
BatchAnfaenger91 02.10.2015 um 08:24:38 Uhr
Goto Top
Ja ist mir bewußt. Auf den Server sind die Shares in Cluster angelegt und daher über net share nicht aufrufbar.

Über wmic share get name, path funktionierts. Nun brauche ich die Berechtigung
BatchAnfaenger91
BatchAnfaenger91 02.10.2015 um 11:21:16 Uhr
Goto Top
edit:

ich arbeite auf den Windows Server 2008 r2.

Ich habe gelesen das man mittels cacls die Berechtigungen steuern kann. gibt es einen Befehl um nur zu lesen?

VG
TlBERlUS
TlBERlUS 02.10.2015 um 11:32:50 Uhr
Goto Top
114757
Lösung 114757 02.10.2015, aktualisiert am 05.10.2015 um 14:39:41 Uhr
Goto Top
Moin,
versteh ich absolut nicht wie man Powershell so ablehnen kann ?? Zumal es so direkt in der Batch läuft, man es problemlos mit Batchcode interagieren lassen kann, und es seit Vista out-of-the-box in allen Windows Systemen enthalten ist ...
Die Ausgabe kann man sich so gestallten wie man lustig ist.

---> Batchcode für Auflistung der "Freigabeberechtigungen" inkl. Ausschlussfunktion
@echo off
:: hier kann man Ausnahmen definieren, welche nicht ausgelesen werden sollen
set exclude="C$","D$","Admin$","print$"  

powershell.exe -ExecutionPolicy ByPass -Command "&{param([string[]]$exclude)gwmi Win32_Share | ?{$_.Name -notin $exclude} | select Name,Path,@{n='Rechte';e={$name = $_.Name;(gwmi Win32_LogicalShareSecuritySetting) | ?{$_.Name -eq $name} | %%{($_.GetSecurityDescriptor().Descriptor.DACL | %%{$acl = New-Object Security.AccessControl.FileSystemAccessRule($_.Trustee.Name, $_.AccessMask, $_.AceType); \"$($acl.IdentityReference)=$($acl.FileSystemRights)\"}) -join \"`n\"}}} | ft -AutoSize -Wrap}" %exclude%  

Ausgabebeispiel:
Name    Path                              Rechte
----    ----                              ------
Users   C:\Users                          Administrators=FullControl
                                          Jeder=FullControl
Batch 2.0, willkommen in der Zukunft ...
Was will man mehr? Mit Batch unzuverlässig mit for-Schleifen irgendwelchen Output parsen??, arghhh da bleibt einem ein Bit im Hals stecken, macht doch heute keiner mehr!

Gruß jodel32

TlBERlUS
TlBERlUS 02.10.2015 aktualisiert um 17:51:50 Uhr
Goto Top
Zitat von @114757:

Was will man mehr? Mit Batch unzuverlässig mit for-Schleifen irgendwelchen Output parsen??, arghhh da bleibt einem ein Bit im Hals stecken, macht doch heute keiner mehr!
Keiner?
Doch, ein unabhängiger Admin leistet noch immer erbitterten Widerstand...
face-smile
BatchAnfaenger91
BatchAnfaenger91 05.10.2015 um 14:39:31 Uhr
Goto Top
Danke euch