Permissions minus Complexity
Intuitive permission management with the power of SetACL. Less clicks, no more UAC prompts, increased productivity. Freeware.
Intuitive
We put great care into the UI design, and it shows. Although permissions are complex, the user interface is not.
Productive
Five clicks just for setting the owner? UAC prompts everywhere? Those days are gone with SetACL Studio.
Powerful
Built on SetACL’s proven engine, SetACL Studio effortlessly bypasses security to show permissions of any object and deals with very long paths.
Undo
Normal programs have undo, admin tools do not. That is a rule, right? Wrong!
Local and remote computers
SetACL Studio works just as well over the network as it does locally. Connect to multiple computers simultaneously and easily switch from one to the other.
Permissions anywhere
SetACL Studio works with files, directories, registry keys, services, printers, network shares and WMI objects.
Create, delete and rename every directory and registry key – bypassing security
SetACL Studio not only lets you inspect any directory regardless of current permissions, it can also create, delete and rename directories anywhere. Whether you have roaming profile directories, normally inaccessible to administrators, or users “protecting” folders: SetACL Studio ignores ordinary restrictions and gives you the kind of access you need to do your work. Security bypassing works in the registry, too, for creating and deleting keys.
View, change and reset permissions and ownership
SetACL Studio lists permissions from the DACL and the SACL and displays the owner. DACL, SACL and owner can be changed for the current object and optionally sub-objects can be reset to get a consistent state.
Did we mention undo?
Everything else being great as it is, undo is the feature you do not want to live without from the moment you have used it for the first time. Of course it is multi-level, allowing you to go back step after step until you are back to where you want to be.
Want to know more? Check out the feature list. Already convinced? Download.
30 Comments
Fantastic program, just about to rebuy a new license, not idea if ne need renewing but well worth it.
As a side note your program has aske me to send you this error i keep on getting, when I try and reset owner permission.
>>>
An internal error occurred: ‘unknown propagation set ‘InheritOnly’. Please notify the program’s author.
<<<
No need to buy – SetACL Studio has been freeware for a while. You can find the license key to unlock it on the download page.
You are an angel. I just had our supposed-server people completely f-up permissions throughout our file share server…And strangely they aren’t stepping up to fix it.
Thank you.
hallo peter,
ich bekomme diese Fehlermeldung beim starten des programms:
Unbehandelte Ausnahme
Das Programm muss aufgrund einer unbehandelten Ausnahme geschlossen werden. Es tut uns sehr leid, dass dies passiert ist. Bitte helfen Sie uns, diesen Fehler zu beheben, indem Sie diese Informationen an den Support schicken.
Details:
Type: System.OverflowException
Message: Die arithmetische Operation hat einen Überlauf verursacht.
Source: SetACL Studio
Stack trace: bei SetACL_Studio.WinAPI.Networking.NetShareEnumWrapper(String server)
bei SetACL_Studio.ExplorerTreeView.Models.ShareObject.GetRootObjects(String remoteComputer)
bei SetACL_Studio.ExplorerTreeView.Models.VirtualObject.get_Children()
bei SetACL_Studio.ExplorerTreeView.Models.ObjectBase.get_HasChildren()
bei SetACL_Studio.ExplorerTreeView.ViewModels.ObjectBaseViewModel.b__4()
bei System.Threading.Tasks.Task.Execute()
Target: System.Collections.Generic.List`1[SetACL_Studio.WinAPI.Networking+SHARE_INFO_1] NetShareEnumWrapper(System.String)
Inner exception message:
Application version: 1.2.4
Is user admin: True
Is computer domain-joined: True
Is 64-bit OS: True
Is 64-bit app: True
.NET framework: 4.0.30319.42000
OS version: Microsoft Windows NT 6.2.9200.0
It seems you can’t bypass security entirely, even with setACL. For example the ‘HKLM/SYSTEM/WaaS/WaaSMedic/TaskStore’ key returns an acess denied error when you attempt to change anything.
Hallo Helge, danke für dieses Super-Tool!
Gibt es eine Möglichkeit, die Rechte “Bereitgestellter Volumes” zu ändern?
This is best, was stuck with empty owner of the registry key, finally was able to delete it Thanks
Anyway you can help?
Unhandled Exception
The program needs to be closed because of an unhandled exception. We are very sorry this has happened. Please help us prevent this from happening again by sending this information to application support.
Details:
Type: System.OverflowException
Message: Arithmetic operation resulted in an overflow.
Source: SetACL Studio
Stack trace: at SetACL_Studio.Helpers.MAPI.GetRecipients(Int32& recipCount)
at SetACL_Studio.Helpers.MAPI.SendMail(String strSubject, String strBody, Int32 how)
at SetACL_Studio.Services.SendEMail.SendEMailService.CreateEMail(String subject, String body, String[] recipientsTo, String[] recipientsCC, String[] recipientsBCC, String[] attachmentFileNames)
at SetACL_Studio.ViewModels.ApplicationErrorViewModel.b__6(Object param)
at MS.Internal.Commands.CommandHelpers.CriticalExecuteCommandSource(ICommandSource commandSource, Boolean userInitiated)
at System.Windows.Controls.Primitives.ButtonBase.OnClick()
at System.Windows.Controls.Button.OnClick()
at System.Windows.Controls.Primitives.ButtonBase.OnMouseLeftButtonUp(MouseButtonEventArgs e)
at System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)
at System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
at System.Windows.UIElement.ReRaiseEventAs(DependencyObject sender, RoutedEventArgs args, RoutedEvent newEvent)
at System.Windows.UIElement.OnMouseUpThunk(Object sender, MouseButtonEventArgs e)
at System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)
at System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
at System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)
at System.Windows.UIElement.RaiseTrustedEvent(RoutedEventArgs args)
at System.Windows.Input.InputManager.ProcessStagingArea()
at System.Windows.Input.InputManager.ProcessInput(InputEventArgs input)
at System.Windows.Input.InputProviderSite.ReportInput(InputReport inputReport)
at System.Windows.Interop.HwndMouseInputProvider.ReportInput(IntPtr hwnd, InputMode mode, Int32 timestamp, RawMouseActions actions, Int32 x, Int32 y, Int32 wheel)
at System.Windows.Interop.HwndMouseInputProvider.FilterMessage(IntPtr hwnd, WindowMessage msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
at System.Windows.Interop.HwndSource.InputFilterMessage(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
at MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
at MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
Target: IntPtr GetRecipients(Int32 ByRef)
Inner exception message:
Application version: 1.2.4
Is user admin: True
Is computer domain-joined: False
Is 64-bit OS: True
Is 64-bit app: True
.NET framework: 4.0.30319.42000
OS version: Microsoft Windows NT 6.2.9200.0
Hi……
I am getting the following unhandled exception… I’d like to purchase this software if I can get it to work…
Unhandled Exception
The program needs to be closed because of an unhandled exception. We are very sorry this has happened. Please help us prevent this from happening again by sending this information to application support.
Details:
Type: System.Reflection.TargetInvocationException
Message: Exception has been thrown by the target of an invocation.
Source: mscorlib
Stack trace: at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor)
at System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments)
at System.Delegate.DynamicInvokeImpl(Object[] args)
at SetACL_Studio.Helpers.Messenger.c__DisplayClass1.b__0(Delegate action)
at System.Collections.Generic.List`1.ForEach(Action`1 action)
at SetACL_Studio.Helpers.Messenger.NotifyColleagues(MessageIds messageId, Object parameter)
at System.Threading.Tasks.Task.Execute()
Target: System.Object InvokeMethod(System.Object, System.Object[], System.Signature, Boolean)
Inner exception message: Specified argument was out of the range of valid values.
Parameter name: aceElements
Application version: 1.2.4
Is user admin: True
Is computer domain-joined: False
Is 64-bit OS: True
Is 64-bit app: True
.NET framework: 4.0.30319.42000
OS version: Microsoft Windows NT 6.2.9200.0
Clicking on “WinHTTP Web Proxy Auto-Discover Service” (in Windows 11 22000.348) resulted in the following error:
Unhandled Exception
Type: System.Reflection.TargetInvocationException
Message: Exception has been thrown by the target of an invocation.
Source: mscorlib
Stack trace: at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor)
at System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments)
at System.Delegate.DynamicInvokeImpl(Object[] args)
at SetACL_Studio.Helpers.Messenger.c__DisplayClass1.b__0(Delegate action)
at System.Collections.Generic.List`1.ForEach(Action`1 action)
at SetACL_Studio.Helpers.Messenger.NotifyColleagues(MessageIds messageId, Object parameter)
at System.Threading.Tasks.Task.Execute()
Target: System.Object InvokeMethod(System.Object, System.Object[], System.Signature, Boolean)
Inner exception message: Specified argument was out of the range of valid values.
Parameter name: aceElements
Application version: 1.2.4
Is user admin: True
Is computer domain-joined: False
Is 64-bit OS: True
Is 64-bit app: True
.NET framework: 4.0.30319.42000
OS version: Microsoft Windows NT 6.2.9200.0
Dickes Danke für die nützlichen Tools
Hello,
Is SetACL Studio affected by the log4j security hack?
No, SetACL Studio does not make use of Java.
Hallo Helge,
http://helgeklein.com/setacl-studio/help/event-log/id13
An internal error occured: ‘Unkown propagration set ‘NoPropagation, ObjectInherit’. Please notify the program’s author.
Die Kombination wurde via Powershell gesetzt. Bringt aber leider SetACL-Studio aus dem Tritt.
Fixt du noch Bugs? Wenn nicht, würdest du evtl. den Sourcecode veröffentlichen?
SetACL Studio ist so ein geniales Programm …
Gruß Carsten
Hi Helge,
Just wanted to let you know I love this tool, really helpful.
Thanks!
Dec 2022
Does SetACL work with the latest restrictions on Windows 10 and 11 which now require Trusted Installer permissions to do things like reinstating the Windows Help Files?
SetACL Studio helps you manage permissions. It should have no problem making life easier for you dealing with Trusted Installer (which was introduced way back with Windows 7 IIRC).
I found the SetACL Studio is Multilanguage, could I translate the SetACL Studio into Chinese?
SetACL studio is crashing on start – how to fix it?
https://prnt.sc/CdU9rdwbMnWr
Unhandled Exception
The program needs to be closed because of an unhandled exception. We are very sorry this has happened. Please help us prevent this from happening again by sending this information to application support.
Details:
Type: System.Reflection.TargetInvocationException
Message: Exception has been thrown by the target of an invocation.
Source: mscorlib
Stack trace: at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor)
at System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments)
at System.Delegate.DynamicInvokeImpl(Object[] args)
at SetACL_Studio.Helpers.Messenger.c__DisplayClass1.b__0(Delegate action)
at System.Collections.Generic.List`1.ForEach(Action`1 action)
at SetACL_Studio.Helpers.Messenger.NotifyColleagues(MessageIds messageId, Object parameter)
at System.Threading.Tasks.Task.Execute()
Target: System.Object InvokeMethod(System.Object, System.Object[], System.Signature, Boolean)
Inner exception message: Retrieving the COM class factory for component with CLSID {13379563-8F21-4579-8AC7-CBCD488735DB} failed due to the following error: 80040154 Class not registered (Exception from HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG)).
Application version: 1.2.4
Is user admin: True
Is computer domain-joined: False
Is 64-bit OS: True
Is 64-bit app: True
.NET framework: 4.0.30319.42000
OS version: Microsoft Windows NT 6.1.7601 Service Pack 1
The error message states that the COM component
{13379563-8F21-4579-8AC7-CBCD488735DB}
is not registered. This component is the COM version of SetACL (no “Studio” here), which is used by SetACL Studio. This COM component should reside inC:\Program Files (x86)\Helge Klein\SetACL Studio\SetACL\x64\SetACL.dll
. I’d guess your installation of SetACL Studio is corrupt.The fix was to register COM server, eg: (BUT USING ADMIN RIGHTS!!!)
C:\Progs\JunctionBox\SetACL\SetACL Studio\SetACL\x64>regsvr32 SetACL.dll
https://prnt.sc/n7uFvUKDcFF7
After regging app runs like a charm!
Alen, why do you have SetACL in the same directory as JunctionBox ? Is it just because setting permissions is sometimes necessary when creating junction links? Is this why you grouped them together or am I missing some other reason for you have it like that in your post?
SetACL_Studio has suddenly started crashing on my workstation. Although I had just rebooted after installing an update to Sandboxie (not used with SetACL _Studio…), I later disabled the Sandboxie service and kernel driver, rebooted and still got the same error from SetACL_Studio. I’m more than happy to support any troubleshooting efforts from the dev, since SetACL_Studio has become an indespensible part of some workflows.
Interesting that there was a similar post just a few days ago (though certainly unrelated…). Crash message as follows:
Unhandled Exception
The program needs to be closed because of an unhandled exception. We are very sorry this has happened. Please help us prevent this from happening again by sending this information to application support.
Details:
Type: System.OverflowException
Message: Arithmetic operation resulted in an overflow.
Source: SetACL Studio
Stack trace: at SetACL_Studio.WinAPI.Networking.NetShareEnumWrapper(String server)
at SetACL_Studio.ExplorerTreeView.Models.ShareObject.GetRootObjects(String remoteComputer)
at SetACL_Studio.ExplorerTreeView.Models.VirtualObject.get_Children()
at SetACL_Studio.ExplorerTreeView.Models.ObjectBase.get_HasChildren()
at SetACL_Studio.ExplorerTreeView.ViewModels.ObjectBaseViewModel.b__4()
at System.Threading.Tasks.Task.Execute()
Target: System.Collections.Generic.List`1[SetACL_Studio.WinAPI.Networking+SHARE_INFO_1] NetShareEnumWrapper(System.String)
Inner exception message:
Application version: 1.2.4
Is user admin: True
Is computer domain-joined: False
Is 64-bit OS: True
Is 64-bit app: True
.NET framework: 4.0.30319.42000
OS version: Microsoft Windows NT 6.2.9200.0
An internal error occurred: Unknown ACE type ‘allow_callback’, Please notify the program’s author. I was setting up “Auditing permission” on a folder that said Empty SACL. After clicking Save the update seems to be okay anyway. So, is this really an error?
Hallo Herr Klein,
nachdem ich in einer „Dateiberechtigungs-Angelegenheit“ nicht so recht weiterkomme und aus den Fachkreisen nur Lob und Anerkennung für Ihre Tools und Ihre Person selbst zu entnehmen sind, wollte ich mein Glück mal mit SetACL Studio versuchen. Nachdem ich das Tool zunächst in einer OnPrem-Testumgebung erfolgreich erprobt hatte (klasse Programm übrigens!), habe ich es in der produktiven Umgebung eingesetzt und dort nun die Situation, dass SetACL Studio zwar meldet, die Änderung erfolgreich gespeichert zu haben, im Ergebnis aber nicht wirklich etwas geändert wird, d.h. die Änderung wird entgegen der Meldung nicht gespeichert/angewendet.
Folgende Ausgangssituation ist gegeben: auf einer Microsoft-Azure-Dateifreigabe liegen Windows-Benutzerprofile bzw. FSlogix-Profilcontainer. Die Azure-Freigabe bzw. das dazugehörige Azure-Speicherkonto ist vollständig Domänenintegriert. Bei der der Konfiguration der Dateiberechtigungen wurden die Domain Admins leider außer Acht gelassen, was die Verwaltung der Profilcontainer nun erschwert. Das Ziel wäre, die Domain Admins nachträglich zu berechtigen, ohne die vererbten Berechtigungen und/oder die Owner-Informationen der Benutzerprofile zu verändern.
Ich bin wie folgt vorgegangen: die Azure-Freigabe wurde auf einen Domänenmitgliedsserver als Netzlaufwerk (Authentifizierung via Azure-Zugriffsschlüssel) verbunden. SetACL Studio „sieht“ das Netzlaufwerk und listet alle Berechtigungen korrekt auf. Wenn ich eine Änderung an den Berechtigungen vornehme und auf speichern klicke, wird die Änderung scheinbar gespeichert, aber nicht wirklich angewendet.
Ist das geschilderte Szenario mithilfe von SetACL Studio umsetzbar bzw. das Tool kompatibel mit Azure-Fileshares?
Über eine Rückmeldung wäre ich wirklich sehr dankbar.
Vielen Dank vorab und beste Grüße.
Hello,
I’ve got this message when i use SetACL Studio :
An internal error occured: ‘Unknow propagation set ‘NoPropagation, ContainerInherit, ObjectInherit”. Please notify the program’s author.
What’s the problem ?
Thanks
Very good program. But is there an option to export ACL Table with structure tree?
No.
Hello,
How can I export the NTFS share permissions of folders, subfolders and files into a CSV file in SetACLStudio?
Thanks.
NS
You can’t.
Excellent Program,is there a possibility to make it “portable”, so we can take it on a usb and avoid installation?