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
ü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
Please also mark the comments that contributed to the solution of the article
Content-Key: 284386
Url: https://administrator.de/contentid/284386
Printed on: April 25, 2024 at 01:04 o'clock
9 Comments
Latest comment
Dir ist bewußt, dass Net Share ohne Probleme auch in der cmd/batch läuft?
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
Ausgabebeispiel:
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
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
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