tweakradje
New member
- Local time
- 7:37 PM
- Messages
- 31
[CMD] My new WMI management menu script
Dear Board,
I have been busy with some DOS scripting and exploring the possibilities of using WMI for remote and local management: from a DOS box
I wil past a copy of the current script here. The up-to-date script can be found on my website and look
for wmitool.
Kind Regards.
Dear Board,
I have been busy with some DOS scripting and exploring the possibilities of using WMI for remote and local management: from a DOS box
I wil past a copy of the current script here. The up-to-date script can be found on my website and look
for wmitool.
Kind Regards.
Code:
@echo off
Color 17
SET VERSION=20140925-1
SET WMICOMP=%COMPUTERNAME%
SET WMIACCOUNT=%USERNAME%
SET WMIPW=
SET WMIAD=WORKGROUP
For /F %%d in ('"WMIC OS GET LocalDateTime|Findstr ."') Do SET TODAY=%%d
If Defined TODAY set TODAY=%TODAY:~0,-17%
:MAINMENU
Title WMI Main menu on %WMICOMP% Version %VERSION%
cls
SET CHOICE=-
Echo.
Echo WMI Main Menu on %WMICOMP%
Echo.
Echo 1 Select computer [%WMICOMP%]
Echo 2 Select remote account [%WMIACCOUNT%]
Echo 3 Computer Menu
Echo 4 Hardware Menu
Echo 5 Services menu
Echo 6 Software menu
Echo 7 Processes menu
Echo 8 Accounts menu
Echo 9 Troubleshoot menu
Echo.
Echo 0 Exit
Echo.
Set /P CHOICE=Make your choice:
Cls
Set CREDENTIALS=
If Not %WMICOMP%==%COMPUTERNAME% Set CREDENTIALS=/user:'%WMIACCOUNT%'
If Not %WMICOMP%==%COMPUTERNAME% If Defined WMIPW Set CREDENTIALS=%CREDENTIALS% /password:'%WMIPW%'
If %CHOICE%==0 Goto BYE
If %CHOICE%==1 Echo. & Set /P WMICOMP=Computer Name or IP or @computerlist.txt [%WMICOMP%]:
If %CHOICE%==2 Echo. & Set /P WMIACCOUNT=Enter the remote account [%WMIACCOUNT%]:
If %CHOICE%==2 Echo. & Set /P WMIPW=Enter the remote password []:
If %CHOICE%==3 Goto COMPUTERMENU
If %CHOICE%==4 Goto HARDWAREMENU
If %CHOICE%==5 Goto SERVICESMENU
If %CHOICE%==6 Goto SOFTWAREMENU
If %CHOICE%==7 Goto PROCESSMENU
If %CHOICE%==8 Goto ACCOUNTSMENU
If %CHOICE%==9 Goto TROUBLEMENU
Goto MAINMENU
:COMPUTERMENU
Title WMI Computer menu on %WMICOMP%
cls
SET CHOICE=-
SET YESNO=-
SET MYCMD=
Echo.
Echo WMI Computer Menu on %WMICOMP%
Echo.
Echo 1 List Computer info
Echo 2 Log Off the user
Echo 3 Reboot PC
Echo 4 Power Down PC
Echo 5 List a folder
Echo 6 List Printers
Echo 7 Add a Printer
Echo 8 Remove a Printer
Echo.
Echo 0 Main menu
Echo.
Set /P CHOICE=Make your choice:
If %CHOICE%==0 Goto MAINMENU
Cls
If %CHOICE%==1 Echo Computer Info: & wmic /node:%WMICOMP% %CREDENTIALS% COMPUTERSYSTEM Get /VALUE
If %CHOICE%==2 Echo. & Set /P YESNO=Really Log Off current user on %WMICOMP% [Y/N]?
If %CHOICE%==2 If %YESNO%==y wmic /node:%WMICOMP% %CREDENTIALS% OS Where Primary="TRUE" Call Win32Shutdown 0
If %CHOICE%==2 If %YESNO%==Y wmic /node:%WMICOMP% %CREDENTIALS% OS Where Primary="TRUE" Call Win32Shutdown 0
If %CHOICE%==3 Echo. & Set /P YESNO=Really reboot system %WMICOMP% [Y/N]?
If %CHOICE%==3 If %YESNO%==y wmic /node:%WMICOMP% %CREDENTIALS% OS Where Primary="TRUE" Call Win32Shutdown 2
If %CHOICE%==3 If %YESNO%==Y wmic /node:%WMICOMP% %CREDENTIALS% OS Where Primary="TRUE" Call Win32Shutdown 2
If %CHOICE%==4 Echo. & Set /P YESNO=Really power off system %WMICOMP% [Y/N]?
If %CHOICE%==4 If %YESNO%==y wmic /node:%WMICOMP% %CREDENTIALS% OS Where Primary="TRUE" Call Win32Shutdown 8
If %CHOICE%==4 If %YESNO%==Y wmic /node:%WMICOMP% %CREDENTIALS% OS Where Primary="TRUE" Call Win32Shutdown 8
If %CHOICE%==5 Echo. & Set /P MYCMD= Enter a drive and foldername (like C:\temp):
If %CHOICE%==5 If Defined MYCMD Call :WHEREDRIVEPATH "%MYCMD%"
If %CHOICE%==5 If Defined MYCMD Echo Folders:
If %CHOICE%==5 If Defined MYCMD wmic /node:%WMICOMP% %CREDENTIALS% FSDIR Where %MYCMD% GET Archive,Compressed,Description,Hidden,LastAccessed,LastModified,System
If %CHOICE%==5 If Defined MYCMD Echo Files:
If %CHOICE%==5 If Defined MYCMD wmic /node:%WMICOMP% %CREDENTIALS% DATAFILE Where %MYCMD% GET Archive,Compressed,CreationDate,Description,FileSize,Hidden,LastAccessed,LastModified,System,Version
If %CHOICE%==6 Echo Current Printers: & wmic /node:%WMICOMP% %CREDENTIALS% PRINTER GET Caption,Comment,DetectedErrorState,DriverName,Location,PortName,ServerName
If %CHOICE%==7 Echo. & Set /P MYCMD=Enter new printer name for %WMICOMP% (like \\server\printer):
If %CHOICE%==7 If Defined MYCMD wmic /node:%WMICOMP% %CREDENTIALS% PRINTER Call AddPrinterConnection "%WMICOMP%"
If %CHOICE%==8 Call :BUILDMENU "wmic /node:%WMICOMP% %CREDENTIALS% PRINTER Get name /VALUE|FindStr =|Sort" "tokens=2 delims=="
If %CHOICE%==8 If Not Defined MENUITEM Goto COMPUTERMENU
If %CHOICE%==8 Call :DOUBLETHESLASH %MENUITEM%
If %CHOICE%==8 Echo. & Set /P YESNO=Really delete printer %MENUITEM% [Y/N]?
If %CHOICE%==8 If %YESNO%==y wmic /node:%WMICOMP% %CREDENTIALS% PRINTER Where name="%MYCMD%" DELETE /nointeractive
If %CHOICE%==8 If %YESNO%==Y wmic /node:%WMICOMP% %CREDENTIALS% PRINTER Where name="%MYCMD%" DELETE /nointeractive
If Not %CHOICE%==- Pause
Goto COMPUTERMENU
:SERVICESMENU
Title WMI Services menu on %WMICOMP%
cls
SET CHOICE=-
SET YESNO=-
SET MYCMD=
Echo.
Echo WMI Services Menu on %WMICOMP%
Echo.
Echo 1 List Auto or Manual startup services
Echo 2 List Auto Startup services
Echo 3 List all Running services
Echo 4 List all Stopped services
Echo 5 List all Disabled services
Echo 6 Details of a service
Echo 7 Start a service
Echo 8 Stop a service
Echo 9 Disable a service
Echo.
Echo 0 Main menu
Echo.
Set /P CHOICE=Make your choice:
If %CHOICE%==0 Goto MAINMENU
Cls
If %CHOICE%==1 Echo Enabled Services: & wmic /node:%WMICOMP% %CREDENTIALS% SERVICE Where (startmode="auto" or startmode="manual") Get Name,DisplayName,State,Status,ExitCode,StartMode
If %CHOICE%==2 Echo AutoStart Services: & wmic /node:%WMICOMP% %CREDENTIALS% SERVICE where startmode="auto" Get Name,DisplayName,State,Status,ExitCode,StartMode
If %CHOICE%==3 Echo Running Services: & wmic /node:%WMICOMP% %CREDENTIALS% SERVICE Where (state="Running") Get Name,DisplayName,State,Status,ExitCode,StartMode
If %CHOICE%==4 Echo Stopped Services: & wmic /node:%WMICOMP% %CREDENTIALS% SERVICE Where (state="Stopped") Get Name,DisplayName,State,Status,ExitCode,StartMode
If %CHOICE%==5 Echo Disabled Services: & wmic /node:%WMICOMP% %CREDENTIALS% SERVICE Where (StartMode="Disabled") Get Name,DisplayName,State,Status,ExitCode,StartMode
If %CHOICE%==6 Call :BUILDMENU "wmic /node:%WMICOMP% %CREDENTIALS% SERVICE Get displayname /VALUE|FindStr =|Sort" "tokens=2 delims=="
If %CHOICE%==6 If Not Defined MENUITEM Goto SERVICESMENU
If %CHOICE%==6 Echo Details of "%MENUITEM%" service: & wmic /node:%WMICOMP% %CREDENTIALS% SERVICE Where (displayname="%MENUITEM%") LIST FULL
If %CHOICE%==7 Call :BUILDMENU "wmic /node:%WMICOMP% %CREDENTIALS% SERVICE Where (state="Stopped" AND Not StartMode="Disabled") Get displayname /VALUE|FindStr =|Sort" "tokens=2 delims=="
If %CHOICE%==7 If Not Defined MENUITEM Goto SERVICESMENU
If %CHOICE%==7 wmic /node:%WMICOMP% %CREDENTIALS% SERVICE Where (displayname="%MENUITEM%") Call StartService
If %CHOICE%==8 Call :BUILDMENU "wmic /node:%WMICOMP% %CREDENTIALS% SERVICE Where (state="Running") Get displayname /VALUE|FindStr =|Sort" "tokens=2 delims=="
If %CHOICE%==8 If Not Defined MENUITEM Goto SERVICESMENU
...
Attachments
Last edited:
My Computer
- OS
- win7