Skip to content

Commit 29d11c2

Browse files
added conditional for finding cacls executable
1 parent 5e3e901 commit 29d11c2

File tree

1 file changed

+25
-38
lines changed

1 file changed

+25
-38
lines changed

Powerless.bat

+25-38
Original file line numberDiff line numberDiff line change
@@ -99,45 +99,32 @@ reg query HKLM\SOFTWARE\Policies\Microsoft\Windows\Installer\AlwaysInstallElevat
9999
echo.
100100

101101
echo --- Program Files and User Directories where everybody (or users) have full or modify permissions ---
102-
icacls "C:\Program Files\*" 2>nul | findstr "(F)" | findstr "Everyone"
103-
icacls "C:\Program Files (x86)\*" 2>nul | findstr "(F)" | findstr "Everyone"
104-
icacls "C:\Program Files\*" 2>nul | findstr "(F)" | findstr "BUILTIN\Users"
105-
icacls "C:\Program Files (x86)\*" 2>nul | findstr "(F)" | findstr "BUILTIN\Users"
106-
icacls "C:\Program Files\*" 2>nul | findstr "(M)" | findstr "Everyone"
107-
icacls "C:\Program Files (x86)\*" 2>nul | findstr "(M)" | findstr "Everyone"
108-
icacls "C:\Program Files\*" 2>nul | findstr "(M)" | findstr "BUILTIN\Users"
109-
icacls "C:\Program Files (x86)\*" 2>nul | findstr "(M)" | findstr "BUILTIN\Users"
110-
icacls "C:\Documents and Settings\*" 2>nul | findstr "(F)" | findstr "Everyone"
111-
icacls "C:\Documents and Settings\*" 2>nul | findstr "(M)" | findstr "Everyone"
112-
icacls "C:\Documents and Settings\*" 2>nul | findstr "(F)" | findstr "BUILTIN\Users"
113-
icacls "C:\Documents and Settings\*" 2>nul | findstr "(M)" | findstr "BUILTIN\Users"
114-
icacls "C:\Users\*" 2>nul | findstr "(F)" | findstr "Everyone"
115-
icacls "C:\Users\*" 2>nul | findstr "(F)" | findstr "BUILTIN\Users"
116-
icacls "C:\Users\*" 2>nul | findstr "(M)" | findstr "Everyone"
117-
icacls "C:\Users\*" 2>nul | findstr "(M)" | findstr "BUILTIN\Users"
118-
icacls "C:\Documents and Settings\*" /T 2>nul | findstr ":F" | findstr "BUILTIN\Users"
119-
icacls "C:\Users\*" /T 2>nul | findstr ":F" | findstr "BUILTIN\Users"
102+
where /q icacls
103+
IF ERRORLEVEL 1 (
104+
echo icacls is missing, performing checks using cacls for older versions of Windows
105+
FOR /F "tokens=* USEBACKQ" %%F IN (`where cacls`) DO (SET cacls_exe=%%F)
106+
) ELSE (
107+
FOR /F "tokens=* USEBACKQ" %%F IN (`where icacls`) DO (SET cacls_exe=%%F)
108+
)
109+
%cacls_exe% "C:\Program Files\*" 2>nul | findstr "(F)" | findstr "Everyone"
110+
%cacls_exe% "C:\Program Files (x86)\*" 2>nul | findstr "(F)" | findstr "Everyone"
111+
%cacls_exe% "C:\Program Files\*" 2>nul | findstr "(F)" | findstr "BUILTIN\Users"
112+
%cacls_exe% "C:\Program Files (x86)\*" 2>nul | findstr "(F)" | findstr "BUILTIN\Users"
113+
%cacls_exe% "C:\Program Files\*" 2>nul | findstr "(M)" | findstr "Everyone"
114+
%cacls_exe% "C:\Program Files (x86)\*" 2>nul | findstr "(M)" | findstr "Everyone"
115+
%cacls_exe% "C:\Program Files\*" 2>nul | findstr "(M)" | findstr "BUILTIN\Users"
116+
%cacls_exe% "C:\Program Files (x86)\*" 2>nul | findstr "(M)" | findstr "BUILTIN\Users"
117+
%cacls_exe% "C:\Documents and Settings\*" 2>nul | findstr "(F)" | findstr "Everyone"
118+
%cacls_exe% "C:\Documents and Settings\*" 2>nul | findstr "(M)" | findstr "Everyone"
119+
%cacls_exe% "C:\Documents and Settings\*" 2>nul | findstr "(F)" | findstr "BUILTIN\Users"
120+
%cacls_exe% "C:\Documents and Settings\*" 2>nul | findstr "(M)" | findstr "BUILTIN\Users"
121+
%cacls_exe% "C:\Users\*" 2>nul | findstr "(F)" | findstr "Everyone"
122+
%cacls_exe% "C:\Users\*" 2>nul | findstr "(F)" | findstr "BUILTIN\Users"
123+
%cacls_exe% "C:\Users\*" 2>nul | findstr "(M)" | findstr "Everyone"
124+
%cacls_exe% "C:\Users\*" 2>nul | findstr "(M)" | findstr "BUILTIN\Users"
125+
%cacls_exe% "C:\Documents and Settings\*" /T 2>nul | findstr ":F" | findstr "BUILTIN\Users"
126+
%cacls_exe% "C:\Users\*" /T 2>nul | findstr ":F" | findstr "BUILTIN\Users"
120127
echo.
121-
echo ... performing same checks but using cacls instead of icacls (for older versions of Windows)...
122-
cacls "C:\Program Files\*" 2>nul | findstr "(F)" | findstr "Everyone"
123-
cacls "C:\Program Files (x86)\*" 2>nul | findstr "(F)" | findstr "Everyone"
124-
cacls "C:\Program Files\*" 2>nul | findstr "(F)" | findstr "BUILTIN\Users"
125-
cacls "C:\Program Files (x86)\*" 2>nul | findstr "(F)" | findstr "BUILTIN\Users"
126-
cacls "C:\Program Files\*" 2>nul | findstr "(M)" | findstr "Everyone"
127-
cacls "C:\Program Files (x86)\*" 2>nul | findstr "(M)" | findstr "Everyone"
128-
cacls "C:\Program Files\*" 2>nul | findstr "(M)" | findstr "BUILTIN\Users"
129-
cacls "C:\Program Files (x86)\*" 2>nul | findstr "(M)" | findstr "BUILTIN\Users"
130-
cacls "C:\Documents and Settings\*" 2>nul | findstr "(F)" | findstr "Everyone"
131-
cacls "C:\Documents and Settings\*" 2>nul | findstr "(M)" | findstr "Everyone"
132-
cacls "C:\Documents and Settings\*" 2>nul | findstr "(F)" | findstr "BUILTIN\Users"
133-
cacls "C:\Documents and Settings\*" 2>nul | findstr "(M)" | findstr "BUILTIN\Users"
134-
cacls "C:\Users\*" 2>nul | findstr "(F)" | findstr "Everyone"
135-
cacls "C:\Users\*" 2>nul | findstr "(F)" | findstr "BUILTIN\Users"
136-
cacls "C:\Users\*" 2>nul | findstr "(M)" | findstr "Everyone"
137-
cacls "C:\Users\*" 2>nul | findstr "(M)" | findstr "BUILTIN\Users"
138-
cacls "C:\Documents and Settings\*" /T 2>nul | findstr ":F" | findstr "BUILTIN\Users"
139-
cacls "C:\Users\*" /T 2>nul | findstr ":F" | findstr "BUILTIN\Users"
140-
echo.
141128

142129
echo ---Domain joined? If so check domain controller for GPP files ----
143130
set user

0 commit comments

Comments
 (0)