-
Notifications
You must be signed in to change notification settings - Fork 219
Expand file tree
/
Copy pathADModule.bat
More file actions
114 lines (103 loc) · 2.96 KB
/
ADModule.bat
File metadata and controls
114 lines (103 loc) · 2.96 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
@echo off
chcp 65001 >nul 2>&1
setlocal EnableDelayedExpansion
title ADModule - Script Manager
cd /d "%~dp0"
:MENU
cls
echo.
echo =============================================
echo ADModule - Script Manager
echo =============================================
echo.
echo Available Scripts:
echo.
echo [1] Get-ADUserInfo - Query AD user attributes
echo (Single user or batch processing)
echo.
echo [2] Import-ActiveDirectory - Import AD module
echo (Load DLL for manual PowerShell use)
echo.
echo [0] Exit
echo.
echo =============================================
echo.
set /p choice="Choose an option (0-2): "
if "%choice%"=="1" goto ADUSER
if "%choice%"=="2" goto IMPORTAD
if "%choice%"=="0" goto EXIT
echo.
echo [!] Invalid option. Press any key to try again...
pause >nul
goto MENU
:ADUSER
cls
echo.
echo =============================================
echo Get-ADUserInfo - Options
echo =============================================
echo.
echo [1] Interactive mode (menu)
echo.
echo [2] Query current logged-in user
echo.
echo [3] Batch process from file
echo.
echo [0] Back to main menu
echo.
echo =============================================
echo.
set /p subchoice="Choose an option (0-3): "
if "%subchoice%"=="1" goto ADUSER_INTERACTIVE
if "%subchoice%"=="2" goto ADUSER_CURRENT
if "%subchoice%"=="3" goto ADUSER_BATCH
if "%subchoice%"=="0" goto MENU
echo.
echo [!] Invalid option. Press any key to try again...
pause >nul
goto ADUSER
:ADUSER_INTERACTIVE
cls
powershell.exe -ExecutionPolicy Bypass -NoProfile -Command "[Console]::OutputEncoding = [System.Text.Encoding]::UTF8; & '.\scripts\Get-ADUserInfo.ps1'"
echo.
pause
goto MENU
:ADUSER_CURRENT
cls
powershell.exe -ExecutionPolicy Bypass -NoProfile -Command "[Console]::OutputEncoding = [System.Text.Encoding]::UTF8; & '.\scripts\Get-ADUserInfo.ps1' -SamAccountName $env:USERNAME -NoMenu"
echo.
pause
goto MENU
:ADUSER_BATCH
cls
powershell.exe -ExecutionPolicy Bypass -NoProfile -Command "[Console]::OutputEncoding = [System.Text.Encoding]::UTF8; $script = '.\scripts\Get-ADUserInfo.ps1'; & $script -BatchFile '' -BatchOutput ''"
echo.
pause
goto MENU
:IMPORTAD
cls
echo.
echo =============================================
echo Import-ActiveDirectory - PowerShell
echo =============================================
echo.
echo This will open a PowerShell session with
echo the Active Directory module loaded.
echo.
echo You can use AD cmdlets like:
echo - Get-ADUser
echo - Get-ADGroup
echo - Get-ADComputer
echo.
echo =============================================
echo.
echo Press any key to start PowerShell session...
pause >nul
cls
powershell.exe -ExecutionPolicy Bypass -NoProfile -NoExit -Command "[Console]::OutputEncoding = [System.Text.Encoding]::UTF8; & '.\scripts\Import-ActiveDirectory.ps1'; Write-Host ''; Write-Host '[+] AD Module loaded. You can now use Get-ADUser, Get-ADGroup, etc.' -ForegroundColor Green; Write-Host ''"
goto MENU
:EXIT
echo.
echo Exiting...
endlocal
exit /b 0