New
#1
[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.
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 ...
Last edited by tweakradje; 11 May 2015 at 15:15. Reason: Attached latest version: 20150426-1