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-Key: 284386

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

Printed on: April 25, 2024 at 01:04 o'clock

Member: mrtux
mrtux Oct 01, 2015 at 15:43:58 (UTC)
Goto Top
Hi!

Wieso Powershell? Warum nicht einfach nur die Shell?

mrtux
Member: BatchAnfaenger91
BatchAnfaenger91 Oct 01, 2015 at 15:50:07 (UTC)
Goto Top
Hi

ich würde den Befehl dann direkt in mein BatchSkricpt einbauen
Member: TlBERlUS
TlBERlUS Oct 02, 2015 updated at 06:23:06 (UTC)
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?
Member: BatchAnfaenger91
BatchAnfaenger91 Oct 02, 2015 at 06:24:38 (UTC)
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
Member: BatchAnfaenger91
BatchAnfaenger91 Oct 02, 2015 at 09:21:16 (UTC)
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
Member: TlBERlUS
TlBERlUS Oct 02, 2015 at 09:32:50 (UTC)
Goto Top
Mitglied: 114757
Solution 114757 Oct 02, 2015, updated at Oct 05, 2015 at 12:39:41 (UTC)
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

Member: TlBERlUS
TlBERlUS Oct 02, 2015 updated at 15:51:50 (UTC)
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
Member: BatchAnfaenger91
BatchAnfaenger91 Oct 05, 2015 at 12:39:31 (UTC)
Goto Top
Danke euch