Syed Jahanzaib – Personal Blog to Share Knowledge !

January 31, 2013

Troubleshooting IBM ULT3580-TD3 Tape Drive in Windows 2003 > Short Notes


tape

Recently we had a severe power failure and our UPS didn’t provided backup and got shutdown immediately. Upon restoring every thing back to normal, One of Tape Drive (IBM ULT3580-TD3 SCSI Drive) connected with our File Server didn’t respond properly and failed to backup on tape, Also it didn’t appeared in ntbackup Media List.

I tried every possible way to troubleshoot it but no use. I tried removing / Enabling Disabling Tape Drive/Scsi Card, but didn’t worked out. Tape Drive and SCSI card were detecting properly in Device Manager but in RSM (Removable Storage Manager)  , it showed RED cross on Tape Drive with  multiple instance of Tape Drive. When I took properties of the drive, it showed following error.

the object identifier does not represent a valid object

Some images . . .

device manager.

tape-error-in-rsm.

I did the following to resolve the issue.

1) First delete all instances of IBM ULT3580 from RSM which are marked as red cross. as showed in the above picture.

2) Update Adaptec SCSI card 29329ALP – Ultra320 SCSI card firmware to latest one from Adaptec web site, Search in Google.)
http://www.adaptec.com/en-us/speed/scsi/windows/u320_scsi_v7006_win32_cert_exe.htm

3) Update IBM Tape ULT3580-TD3 driver from
http://delivery04.dhe.ibm.com/sar/CMA/STA/02mq3/9/IBMTape.x86_6217.zip
Extract it to any folder and execute install_exclusive.exe , after it updates it will ask you to reboot, simply Reboot.

After reboot complete , Open the command prompt and issue following command.

rsm view /tlibrary

Result should be something below

C:\>rsm view /tlibrary

LIBRARY

Off-line Media
Kingston DT 101 G2 USB Device
HP DVD Writer 1260r
IBM ULT3580-TD3 SCSI Sequential Device

The command completed successfully.

Now issue following command

rsm.exe refresh /lf”IBM ULT3580-TD3 SCSI Sequential Device”

wait 1 -2 minutes

Now again execute RSM and see if it shows OK,
As showed in the image below . .  .

rsm-ok

Execute NTBACKUP and hopefully it will work out this time.
🙂

.

Default ID Password for IBM Tape Library TS3200

ID = admin
Password = secure

Also read following , maybe helpful for any specific case.
http://thetazblog.taznetworks.com/2006/01/sbs-backup-error-code-0x800710d8.html

☺☻☺☻☺☻

If you receive message while ejecting tape cartridge from the library gui

” Lock by host” then simply stop RSM Service on all connected hosts (if its FC library and connected with multiple hosts) .

 

Regard’s
SYED JAHANZAIB

January 16, 2013

Backup Files via CMD/Batch/ntbackup Scripts [Personnel Notes]


Salam to All,

Following are few backup batch files that I have used at my office to perform backup operation using scheduled backup tasks. I am posting them just for reference so they can be used as archiving or possibly useful for others too having same task.


Batch file not running when Scheduled with Run whether user is logged or not

From past few days we were having strange issue that one of our backup batch file which copies the AD backup data form local to file server shared folder (using map drive feature) failed to work. Upon detailed investigation & made my eyes cracked, it got revealed that rather using MAP drive , we had to use full UNC path, and the script worked fine .

 


Backup from local folder to Remote Server and make log files [This was updated on 10-Oct-2019]

@echo off
cls
set MAPPATH=\\FILESERVER\FOLDER1
set MAPDRIVELETTER=N:
set MAPDRIVEFULLPATH=N:\
set BKPFOLDER=D:\BACKUP
set BKPFOLDERFULLPATH=D:\BACKUP
set DAYS=-30
set LOGFOLDER=c:\backup

echo This script is designed by Syed Jahanzaib / AGP IS Dept.
if not exist "%LOGFOLDER%" mkdir %LOGFOLDER%
echo %computername% - Backup Script Start_Time %date% %time% >> %LOGFOLDER%\lastrun.txt

if exist %MAPDRIVELETTER% (
echo "%MAPDRIVELETTER% Map Drive is present. Deleting it first"
net use /delete /y %MAPDRIVELETTER%
)

echo "Mapping drive named %MAPDRIVELETTER% "
net use %MAPDRIVELETTER% %MAPPATH%

if exist %MAPDRIVELETTER% (
echo Map Drive named %MAPDRIVELETTER% is now mapped , moving forward ...
echo %computername% - Backup Scrtip Start_Time %date% %time% >> %MAPDRIVELETTER%\lastrun.txt
ECHO "Holding for 10 seconds ... and then start copying Data from %BKPFOLDERFULLPATH% TO \\agpnas1\hplc particular user related folder - and delete data older then %DAYS% days"
ping -n 10 127.0.0.1 > %LOGFOLDER%\null
Robocopy.exe *.* /s /e /w:0 /r:0 /LOG:%LOGFOLDER%\backup_log.txt /NP /FP /TEE /ts %BKPFOLDERFULLPATH% %MAPDRIVELETTER%

rem ** IF you want to delete files only insdie this path including files inside subfolders
rem forfiles /p "%BKPFOLDER%" /s /m *.* /d %DAYS% /c "cmd /c del /Q @path"
rem forfiles /p "%MAPDRIVEFULLPATH%" /s /m *.* /d %DAYS% /c "cmd /c del /Q @path"

rem ** IF you want to delete FOLDERS inside this path
echo "now deleteing folders older then %DAYS% days from %BKPFOLDER% and %MAPDRIVEFULLPATH% ..."

echo "Following folders will be deleted (if found older then %DAYS% day, else no folder name will be listed"
echo "Following folders will be deleted (if found older then %DAYS% day, else no folder name will be listed" >> %MAPDRIVELETTER%\lastrun.txt
echo "Following folders will be deleted (if found older then %DAYS% day, else no folder name will be listed" >> %LOGFOLDER%\lastrun.txt
forfiles /P %BKPFOLDER% /D %DAYS% /M * /C "cmd /C if @isdir==TRUE echo @path" >> %MAPDRIVELETTER%\lastrun.txt
forfiles /P %BKPFOLDER% /D %DAYS% /M * /C "cmd /C if @isdir==TRUE echo @path" >> %LOGFOLDER%\lastrun.txt
forfiles /P %BKPFOLDER% /D %DAYS% /M * /C "cmd /C if @isdir==TRUE rd /S /Q @path"
forfiles /P %MAPDRIVEFULLPATH% /D %DAYS% /M * /C "cmd /C if @isdir==TRUE rd /S /Q @path"

echo.
echo SCRIPT is finished .....
echo %computername% - Backup Scrtip End_Time %date% %time% >> %MAPDRIVELETTER%\lastrun.txt
echo %computername% - Backup Scrtip End_Time %date% %time% >> %LOGFOLDER%\lastrun.txt
echo *************************************************** >> %MAPDRIVELETTER%\lastrun.txt
echo *************************************************** >> %LOGFOLDER%\lastrun.txt
) ELSE (
echo "ERROR: UNABLE TO ACCESS mapped %MAPDRIVELETTER% DRIVE , PLEASE CHECK ...."
echo "ERROR: UNABLE TO ACCESS mapped %MAPDRIVELETTER% DRIVE , PLEASE CHECK ...."
echo "ERROR: UNABLE TO ACCESS mapped %MAPDRIVELETTER% DRIVE , PLEASE CHECK ...." >> %LOGFOLDER%\lastrun.txt
echo %computername% - Backup Scrtip End_Time %date% %time% >> %LOGFOLDER%\lastrun.txt
echo *************************************************** >> %LOGFOLDER%\lastrun.txt
)

 


MOVE folders (including files/subfolders)  Older than X days to another location using legendary ROBOCOPY 😉

robocopy C:\SOURCE_FOLDER_LOCATION   D:\TARGET_FOLDER_LOCATION   /s   /e   /MOVE   /minage:2

/s : includes Sub Folders / Files
/e : include Empty folders as well
/MOVE : after copying, delete matching data from source
/minage : set criteria in days

Change the minage:2 to your desired number of days.


DELETE FOLDERS OLDER THEN XX DAYS USING POWERSHELL
[Added 16th October, 2015]

To delete FOLDERS (including files or sub folders) older then X days, you can use following powershell command, fully tested with windows 2008

PowerShell -Command "& Get-ChildItem "D:\Data" | Where-Object {$_.PSIsContainer -and $_.LastWriteTime -le [System.DateTime]::Now.AddDays(-3)} | Remove-Item -Recurse -Force"

Move Files to another folder/drive using ROBOCOPY – Older then 365 Days


robocopy D:\Users\Syed_Jahanzaib  X:\Users\Syed_Jahanzaib_Archive /MOVE /MINAGE:365 /E

There is confusion here and elsewhere, I believe the following is correct:

  1. minage and maxage actually refer to the last modified date of the file (not creation date)
  2. minlad and maxlad actually refer to the last access date of the file.

 


NTBACKUP with EMAIL the LOGS and START/END Time Report

This Script will first backup the data defined in “backup-data” to Tape Drive (In my case it was IBM LTO-3) and then email the LOG to your defined email addresses (in “mail-to” section) It will also record the total time of the backup and will attache it to the email.

@echo off
rem # Syed Jahanzaib #
rem #######################################################
rem Setting various Descriptions via environment variables
rem #######################################################

setlocal enableextensions enabledelayedexpansion
set starttime=%time%
set dt=%date:~-4,4%%date:~-10,2%%date:~-7,2%
set logpath="C:\Documents and Settings\Administrator\Local Settings\Application Data\Microsoft\Windows NT\NTBackup\data"
set srvname=SERVER_X
set backup-data=C:\backup\Tape Backup of Different Data.bks
set description=SERVER_X - Autobackup Different Data
set jobname=SERVER_X - Tape Backup of Different Data
set attachment=C:\backup\SERVER_X-ntbackup-%dt%.txt
set mail-subject=SERVER_X-NTBACKUP LOG for Different Data
set mail-body=SERVER_X-NTBACKUP LOG for Different Data
set mail-to="aacable@hotmail.com","aacable@hotmail.com"
set footer=Automated Backup and Email Logs Script Created by Syed_Jahanzaib

rem ######################################
rem Starting Backup in IBM LTO3 Tape Drive
rem ######################################

c:\windows\system32\rsm.exe refresh /lf"IBM ULT3580-TD3 SCSI Sequential Device"
ping -r 9 127.0.0.1 >null
start /wait C:\WINDOWS\system32\ntbackup.exe backup "@%backup-data%" /n "%jobname%" /d "%description%" /j "%jobname%" /l:s /p "LTO Ultrium" /UM /v:no /r:yes /rs:no /hc:on /m normal

rem ############
rem NTBackup END
rem ############

rem ### Copy current date LOG to C:\backup
forfiles -p %logpath% -s -m *.log -d 0 -c "cmd /c copy @file %attachment%"

rem #########################
rem STart END Time Algorithm
rem #########################

ping -n 2 127.0.0.1 >nul: 2>nul:
set endtime=%time%
set total="echo Total   = %tot%"

set /a hrs=%endtime:~0,2%
set /a hrs=%hrs%-%starttime:~0,2%

set /a mins=%endtime:~3,2%
set /a mins=%mins%-%starttime:~3,2%

set /a secs=%endtime:~6,2%
set /a secs=%secs%-%starttime:~6,2%

if %secs% lss 0 (
    set /a secs=!secs!+60
    set /a mins=!mins!-1
)
if %mins% lss 0 (
    set /a mins=!mins!+60
    set /a hrs=!hrs!-1
)
if %hrs% lss 0 (
    set /a hrs=!hrs!+24
)
set /a tot=%secs%+%mins%*60+%hrs%*3600

echo End     = %endtime%
echo Start   = %starttime%
echo Hours   = %hrs%
echo Minutes = %mins%
echo Seconds = %secs%
echo Total   = %tot%

rem ##########
rem Email LOGS
rem ##########

c:\blat\blat.exe -to %mail-to% -i %srvname% -s "%mail-subject%" -body "%mail-body%|Backup Report:|Start   = %starttime%|End     = %endtime%|Hours   = %hrs%|Minutes = %mins%||%footer%" -attach %attachment%

endlocal

rem ## THE END
rem ## Syed Jahanzaib / aacable@hotmail.com

 


 

To delete files olde then X days using FORFILES

 

forfiles /p “C:\test” /s /m *.* /c “cmd /c del @path” /d -15

 

Change /d -15 to match your requirements. you can change the del command to any other like to show the files, use echo. FORFILES is builtin command with Windwos 2003 /7. You can download it from http://www.ipass.net/davesisk/forfiles.zip


 Delete Files Over 15 Days Old using ROBOCOPY

set _robodel=%TEMP%\~robodel MD %_robodel% ROBOCOPY “C:\source_folder” %_robodel% /move /minage:15 del %_robodel% /q


Batch File to create Windows MS SQL Backup

First create .sql file that can be called from batch file to create any specific DB backup. for example c:\zaibdb.sql

BACKUP DATABASE [Promo] TO  DISK = N'D:\DataBaseBackup\zaibdb.Bak' WITH NOFORMAT, INIT,  NAME = N'Promo-Full Database Backup', SKIP, NOREWIND, NOUNLOAD,  STATS = 10
GO

now create a batch file which will call the above .sql file to start backup. for example c:\start_backup.bat

@echo off
echo Creating FULL backup in D:\zaibdb.back
echo %Date% >> D:\DataBaseBackup\zaibdb.txt
sqlcmd -S .\SQLEXPRESS -i c:\zaibdb.sql > D:\DataBaseBackup\zaibdb.txt
echo.
echo Done
rem ping 127.0.0.1 -n 10 > null
echo . >> D:\DataBaseBackup\zaibdb.txt
echo This backup set was last created at %Date%  >> D:\DataBaseBackup\zaibdb.txt
echo.

 


Another Backup script that map remote  server folder locally
and then copy the required files and then delete the files older then 20 days with email alert

UPDATED: 8-DEC-2017

@echo off
cls
echo This script is designed by Syed Jahanzaib / COMPANY IS Dept.
echo This script will copy some data to file server
echo.
rem # Syed Jahanzaib #
rem #######################################################
rem Setting various Descriptions via environment variables
rem #######################################################
setlocal enableextensions enabledelayedexpansion
set starttime=%time%
set dt=%date:~-4,4%%date:~-10,2%%date:~-7,2%
set srvname=MYSERVER.LOCAL
set description=myserver_db_backup_log_in_mail
set mail-subject=MYSERVER.LOCAL - Daily Status of myserver DB Backup Copied in folder \\fileserver\datapark\myserver
set mail-body=myserver DB Files which are copied from the c:\backup to File Server ......
set mail-to="AACABLEATHOTMAILDOTCOM"

set footer="Automated_COMPANY_myserver_START_SCRIPT_Created_by_Syed_Jahanzaib_COMPANY_(Pvt)_Ltd.IS_Dept."
set attachment=c:\scripts\myserverdb.log
taskkill /f /t /im "sed.exe" > null
del c:\backup\COMPNAME.txt > null
del c:\backup\ip.txt > null
del c:\backup\damwipfile.txt > null
echo. > %attachment%
echo. >> %attachment%

rem #########################
rem STart END Time Algorithm
rem #########################

set endtime=%time%
set total="echo Total = %tot%"

set /a hrs=%endtime:~0,2%
set /a hrs=%hrs%-%starttime:~0,2%

set /a mins=%endtime:~3,2%
set /a mins=%mins%-%starttime:~3,2%

set /a secs=%endtime:~6,2%
set /a secs=%secs%-%starttime:~6,2%

if %secs% lss 0 (
set /a secs=!secs!+60
set /a mins=!mins!-1
)
if %mins% lss 0 (
set /a mins=!mins!+60
set /a hrs=!hrs!-1
)
if %hrs% lss 0 (
set /a hrs=!hrs!+24
)
set /a tot=%secs%+%mins%*60+%hrs%*3600

echo End = %endtime%
echo Start = %starttime%
echo Hours = %hrs%
echo Minutes = %mins%
echo Seconds = %secs%
echo Total = %tot%

rem listing file for mail attention
echo This script will copy last date added files from c:\backup to to File server \\fileserver\datapark\myserver folder > %attachment%
echo Automated COMPANY myserver EXPORT SCRIPT ***** Created by Syed Jahanzaib_COMPANY (Pvt) Ltd.IS_Dept.
echo ************************************************************* >> %attachment%
echo Found Following File in c:\backup folder for copying to \\fileserver\datapark\myserver >> %attachment%

FORFILES /P C:\backup /M *.* /D -0 /C "CMD /C ECHO @FDATE @PATH - Size @FSIZE bytes - Modified Date @FDATE - Modified Time @FTIME" >> %attachment%
echo. >> %attachment%
echo ***** NOW Comparing above files with \\fileserver\datapark\myserver folder for verification >> %attachment%
echo. >> %attachment%

rem #########################
rem STart BACKUP
rem #########################

echo Executing Scripts Functions Now ... mapping network drive
net use T: \\fileserver\datapark\myserver

rem # Copying Last Date Export files to \\fileserver\export folder
FORFILES /P C:\backup /M *.* /D -0 /C "CMD /C copy @path T:\"

FORFILES /P "T:" /M *.* /D -0 /C "CMD /C ECHO @FDATE @PATH - Size @FSIZE bytes - Modified Date @FDATE - Modified Time @FTIME" >> %attachment%
echo ************************************************************* >> %attachment%
ping -n 2 127.0.0.1 > c:\nul

rem # Deleteing myserver DB files older then 15 Days from myserver server & file server as well. . .
echo Deleting files in c:\backup and file server path older then 15 days
FORFILES /P C:\backup /M *.* /D -15 /C "cmd /c del @path"
FORFILES /P "T:" /M *.* /D -15 /C "cmd /c del @path"

echo. >> %attachment%
echo *** Files Older then 15 days from myserver and File Server (if any matched) have been deleted. verify it. >> %attachment%

echo. >> %attachment%
echo. >> %attachment%
echo %footer% >> %attachment%

rem ##########
rem Email LOGS - YOU SHOULD HAVE BLAT installed
rem ##########

rem c:\blat\blat.exe %attachment% -to %mail-to% -i %srvname% -s "%mail-subject%" -body "%mail-body%| %attachment% Backup Report:|Start = %starttime%|End = %endtime%|Hours = %hrs%|Minutes = %mins%||%footer%"
c:\blat\blat.exe %attachment% -to %mail-to% -i %srvname% -s "%mail-subject%"
endlocal

rem ## THE END
rem ## Syed Jahanzaib / COMPANY (Pvt) Ltd. / IS Dept.

sample backup log.JPG

 


 

Daily Backup of Required Folder using ROBOCOPY

Robocopy method which will copy only new file by matching source and destination folder/file timstamps. Its much better as it displays results in command prompt with percentage and all the necessary info any admin want. 🙂 its my favorite. You can downlod Robocopy by downloading Microsoft Resource Kit from following link.
http://www.microsoft.com/en-us/download/details.aspx?id=17657

@echo off
Robocopy /E /LOG:h:\Softwares\Servers_Related\mail-backup-log.txt B:\archive\.  T:\backup\archive
Robocopy /E /LOG+:h:\Softwares\Servers_Related\mail-backup-log.txt T:\mailserver\c$\mt\.  T:\backup\mt
Robocopy /E /LOG+:h:\Softwares\Servers_Related\mail-backup-log.txt T:\mailserver\mail\.  T:\backup\mail

Second Version of robocopy which add logs, and emails too


@echo off
rem # Syed Jahanzaib #
rem #######################################################
rem Setting various Descriptions via environment variables
rem #######################################################

setlocal enableextensions enabledelayedexpansion
set starttime=%time%
set srvname=FILE_SERVER
set description=Target_Server - Daily Status of MAIL Server Data Copied in FILE_SERVER
set jobname=Target_Server - Daily Status of MAIL Server Data Copied in FILE_SERVER
set attachment=c:\backup\mail_backup_log.txt
set mail-subject=Target_Server - Daily Status of MAIL Server Data Copied in FILE_SERVER
set mail-body=Target_Server - Daily Status of MAIL Server Data Copied in FILE_SERVER
set mail-to=aacable@hotmail.com
set footer=Automated Backup and Email Logs Script Created by  / Syed Jahanzaib

rem Delete old mail backup log file
del c:\backup\mail_backup_log.txt
rem oNLY Mail NSF files Backup
Robocopy.exe *.nsf /w:0 /r:0 /LOG:c:\backup\mail_backup_log.txt /NP /FP /TEE /ts  \\Target_Server\d$\lotus\domino\data\mail H:\Target_Server\Target_Server_LIVE_DATA\MAIL

rem Mail Tracking Backup
Robocopy.exe *.nsf  /w:0 /r:0 /LOG+:c:\backup\mail_backup_log.txt /NP /FP /ts /TEE \\Target_Server\c$\mt\ H:\Target_Server\Target_Server_LIVE_DATA\Target_Server-MT

rem Transaction Logs for mail server
Robocopy.exe *.txn /w:0 /r:0 /LOG+:c:\backup\mail_backup_log.txt /NP /FP /TEE /ts \\Target_Server\c$\logdir\. H:\Target_Server\Target_Server_LIVE_DATA\LOGDIR

set endtime=%time%
set total="echo Total   = %tot%"

set /a hrs=%endtime:~0,2%
set /a hrs=%hrs%-%starttime:~0,2%

set /a mins=%endtime:~3,2%
set /a mins=%mins%-%starttime:~3,2%

set /a secs=%endtime:~6,2%
set /a secs=%secs%-%starttime:~6,2%

if %secs% lss 0 (
set /a secs=!secs!+60
set /a mins=!mins!-1
)
if %mins% lss 0 (
set /a mins=!mins!+60
set /a hrs=!hrs!-1
)
if %hrs% lss 0 (
set /a hrs=!hrs!+24
)
set /a tot=%secs%+%mins%*60+%hrs%*3600

echo End     = %endtime%
echo Start   = %starttime%
echo Hours   = %hrs%
echo Minutes = %mins%
echo Seconds = %secs%
echo Total   = %tot%

rem ##########
rem Email LOGS
rem ##########

c:\backup\blat\blat.exe -to %mail-to%  -attach %attachment% -i %srvname% -s "%mail-subject%" -body "%mail-body%|Backup Report:|Start   = %starttime%|End     = %endtime%|Hours   = %hrs%|Minutes = %mins%||%footer%"

endlocal

rem ## THE END
rem ## Syed Jahanzaib / aacable@hotmail.com

The above commands description is as follows.
/E  = Copy sub-directories, including Empty ones
/LOG+ = Output status to LOG file (append to existing log, so previous entries along with new one should be saved together, if you don’t use + , it will overwrite existing log-file, means delete old entries and overwrite new one)).


 

XCOPY Method

Following file will copy all the data from the source folder to target folder using windows builtin copy tool XCOPY.

@echo off

echo * * *  >> C:\backup-log.txt
echo Mail Backup Starts at %date% - %time%  >> C:\backup-log.txt

C:\windows\system32\xcopy.exe B:\source-folder\*.*  T:\targetfolder /S /D /C /Y

echo Mail Backup Ends at %date% - %time%  >> C:\backup-log.txt
echo * * * >> C:\backup-log.txt 

The above commands description is as follows.

/S = Copies directories and sub-directories except empty ones.
/D =  If no date is given, copies only those files whose  source time is newer than the destination time.
/C = Continues copying even if errors occur.
/Y  = Overwrite existing files if any without prompting, its necessary when you are running xcopy via batch / script file.


 

NET USE SHARING by COMMAND

net use B: \\server\datafolder /USER:administrator@mydomain password
net use B: \\server\datafolder /USER:pc-name\administrator password

 


Set Windows 7/x IP address via COMMAND / CLI

@echo off
echo.
echo Setting IP Address to AUTO DHCP [Office DHCP Server]...
echo.
netsh interface ip set address name="Local Area Connection" source=dhcp
netsh interface ip set address name="Wireless Network Connection" source=dhcp
echo.
echo.
echo Done....
echo.
pause

Another script to move files from one folder and delete directories older then XX DAys, I used it for group company.

@echo off
rem ################################
rem Move all folders from following from D:\1st_folder\ to D:\2nd_folder
robocopy D:\1st_folder\ D:\2nd_folder /s /e /MOVE
if not exist "D:\1st_folder\" mkdir D:\2nd_folder\

rem ################################
rem Delete folders older then 2 days

setlocal

set target=D:\2nd_folder
set days=-2

for /f "usebackq delims=" %%G in (
`forfiles /p "%target%" /c "cmd /c if /i @isdir == true echo @path" /d %days% 2^>nul`
) do rd /s /q "%%~G"

endlocal & exit /b

QUERY FILES BIGGER THAN 10 GB ON REMOTE SERVER FOLDER AND MAKE REPORT FOR EMAIL

@echo off
cls
set srvname=MYCOMPANY_Mail_Server
set description=Lotus Email Server Weekly Report - Users mail box size with 10GB or above usage
set jobname=Lotus Email Server Weekly Report - Users mail box size with 10GB or above usage
set attachment=c:\backup\emailusers10gbusage.log
set tmpfile=c:\backup\emailusers10gbusage_temp.log
set mail-subject=Lotus Email Server Weekly Report - Users mail box size with 10GB or above usage
set mail-body=Lotus Email Server Weekly Report - Users mail box size with 10GB or above usage
set mail-to=zaib@zaib.com
set footer=Lotus Email Server Weekly Report - Users mail box size with 10GB or above usage - Powered by ABC IS Dept.

echo Lotus Email Server Weekly Report - Users mail box size with 10GB or above usage > %attachment%
echo. >> %attachment%

powershell.exe -inputformat none -command "Get-ChildItem -Path \\MAILSRV01\lotus\Domino\data\mail | Where-Object {$_.length -gt 10GB} | Sort-Object -descending -Property length | Format-Table Name,FileSize" > %tmpfile%

echo INBOX Mail File Total Count: >> %attachment%
find /C "nsf" > %attachment%
type %tmpfile% >> %attachment%
powershell.exe -inputformat none -command "Get-ChildItem -Path \\MAILSRV01\archive | Where-Object {$_.length -gt 10GB} | Sort-Object -descending -Property Length | Format-Table Name,FileSize" > %tmpfile%

echo ARCHIVE Mail File Total Count: >> %attachment%
find /C "nsf" > %attachment%
type %tmpfile% >> %attachment%

echo This report is generated on %date% - %time% >> %attachment%
echo Powershell Script Powered by ABC IT Dept. >> %attachment%

rem ##########
rem Email LOGS
rem ##########

c:\backup\blat\blat.exe %attachment% -to %mail-to% -i %srvname% -s "%mail-subject%"
rem notepad %attachment%
rem ## THE END
rem ## Syed Jahanzaib / ABC (Pvt) Ltd. / IT Dept.

QUERY Domain Users who have not logged in last 30 days & send email


@echo off
cls
set srvname=MYDCSRV01
set description=Domain Controller MYDCSRV01 Weekly Report - Users list who have not logged in last 30 days
set jobname=Domain Controller MYDCSRV01 Weekly Report - Users list who have not logged in last 30 days
set attachment=c:\backup\usersnotloggedlist.log
set tmpfile=c:\backup\usersnotloggedlist_temp.log
set mail-subject=Domain Controller MYDCSRV01 Weekly Report - Users list who have not logged in last 30 days
set mail-body=Domain Controller MYDCSRV01 Weekly Report - Users list who have not logged in last 30 days
set mail-to=zaib@zaib.zzz
set footer=Domain Controller MYDCSRV01 Weekly Report - Users list who have not logged in last 30 days - Powered by abc IS Dept.

echo Domain Controller MYDCSRV01 Weekly Report - Users list who have not logged in last 30 days > %attachment%
echo. >> %attachment%
powershell.exe -inputformat none -command "$DaysInactive = 30; $time = (Get-Date).Adddays(-($DaysInactive)); Get-ADUser -Filter {LastLogonTimeStamp -lt $time -and enabled -eq $true} -Properties * | select Name,UserPrincipalName,Enabled,LockedOut,Created,LastLogonDate,Description" > %tmpfile%

echo Total Count: >> %attachment%
find /C "UserPrincipalName" > %attachment%
echo. >> %attachment%

powershell.exe -inputformat none -command "$DaysInactive = 30; $time = (Get-Date).Adddays(-($DaysInactive)); Get-ADUser -Filter {LastLogonTimeStamp -lt $time -and enabled -eq $true} -Properties * | select Name,UserPrincipalName,Enabled,LockedOut,Created,LastLogonDate,Description" >> %attachment%

echo Powershell Script Powered by abc IS Dept. >> %attachment%

rem ##########
rem Email LOGS
rem ##########

c:\blat\blat.exe %attachment% -to %mail-to% -i %srvname% -s "%mail-subject%"

rem ## THE END
rem ## Syed Jahanzaib / abc (Pvt) Ltd. / IS Dept.

Regard’s
Syed Jahanzaib

January 10, 2013

iSCSI SAN/NAS SOLUTION FOR ESXi SERVER (Tutorial No 5)

Filed under: VMware Related — Syed Jahanzaib / Pinochio~:) @ 3:23 PM

iSCSI SAN/NAS SOLUTION FOR ESXi SERVER (Tutorial No 5).

Personnel short notes for BLAT and Delete Files Older then X Days

Filed under: Microsoft Related — Tags: , , , — Syed Jahanzaib / Pinochio~:) @ 10:50 AM

To send email from windows command using your local company SMTP , use BLAT tool.

BLAT guide.
A wonderful guide is already available here.
http://cybergav.in/2010/10/28/how-to-send-emails-using-blat/

+++++++++++++++

First Download BLAT from following URL:
http://sourceforge.net/projects/blat/files/Blat%20Full%20Version/32%20bit%20versions/Blat%20v3.0.0/blat300_32.full.zip/download?use_mirror=autoselect

Unzip it to any folder you like.

+++++++++++++++

To install SMTP in BLAT use the below command . . .

blat -installSMTP 10.0.0.1  your-user-id@xyz.com.pk  5  25

+++++++++++++++
To send email using blat command, use the below command

blat -s “test mail” -i “test” -to  your-user-id@xyz.com.pk

+++++++++++++++
To send email with attachment of file using blat command, use the below command

blat -s “test mail” -i “Syed Jahanzaib / Admin” -to your-user-id@xyz.com.pk -body “Please see attached file” -attach c:\test.txt

+++++++++++++++

Email/Delete Files OLDER then X days Examples:

CORE EXAMPLE
forfiles -p “C:\test” -s -m *.* -d 0 -c “cmd /c c:\blat\blat.exe -to your-user-id@xyz.com.pk -i myname -s INFRA_LOGS -body INFRA_SERVERS_LOGS -attach @path”

Working EXAMPLE for file_server/ For TAPE BACKUP LOGS

forfiles -p “C:\Documents and Settings\Administrator\Local Settings\Application Data\Microsoft\Windows NT\NTBackup\data” -s -m *.* -d 0 -c “cmd /c c:\blat\blat.exe -to your-user-id@xyz.com.pk -i myname -s INFRA_LOGS -body INFRA_SERVERS_LOGS -attach @path”

TO show (DELETE removed from syntax) FILES OLDER THEN X DAYS (in the below example its 30 days)

FORFILES /p c:\temp /d -30 /m * /c “cmd /c echo @file”

TO show (DELETE removed from syntax) FILES For TODAY

FORFILES /p c:\temp /d 0 /m * /c “cmd /c echo @file”

Windows 2003/7/2008 already have forfiles installed. but you can download it from here http://www.ipass.net/davesisk/forfiles.zip

.

Regard’s
Syed Jahanzaib

Howto send email from command via Windows using GMAIL account

Filed under: Microsoft Related — Tags: , , — Syed Jahanzaib / Pinochio~:) @ 10:37 AM

Send Email from Windows via command prompt using GMAIL Account  🙂~

If you want to send email from windows using command prompt using gmail account, first down mailsend utility from following URL and extract it to any folder you like.

http://www.muquit.com/muquit/software/mailsend/mailsend1.16.exe.zip

Now to send email using command via your GMAIL account, use the below syntax. Remember to change the email addressees and password to match your account details.

mailsend.exe -to aacable@hotmail.com -from your-gmail-id@gmail.com  -ssl -smtp smtp.gmail.com -port 465 -sub "Testing Email via Windows cmd using GMAIL test %time%" -M "This is body text of Testing Email via Windows cmd using GMAIL. %date% %time% sending / zaib." +cc +bc -q -auth-plain -user "your-gmail-id" -pass "yourpass"

To send email with attachment, use the following

mailsend.exe -to aacable@hotmail.com -from your-gmail-id@gmail.com  -ssl -smtp smtp.gmail.com -port 465 -sub "Testing Email via Windows cmd using GMAIL test %time%" -M "This is body text of Testing Email via Windows cmd using GMAIL. %date% %time% sending / zaib." +cc +bc -q -auth-plain -user "your-gmail-id" -pass "yourpass" -attach "c:\test.txt"

It’s very handy and useful in many conditions. For example I used it to send daily tape backup log OR daily backup file to my email in the morning by scheduling it.

 

.

For more info, please read this details guide at
http://www.codeproject.com/Tips/418420/Send-email-from-command-line-using-GMail-account

.

Regard’s
Syed Jahnazaib

Mikrotik: Netwatch Script to Detect Target Server Link & Act Accordingly

Filed under: Mikrotik Related — Tags: , , — Syed Jahanzaib / Pinochio~:) @ 9:16 AM

matrix

Someone requested me to create a script that can check Squid Proxy or Target Server Link state from Mikrotik, and if the Squid Proxy / Target Server is not responding, then it should Disable the redirect NAT rule so all load can be handle by Mikrotik.You can modify this script as per your requirements. you can modify it to check WAN link, and if the WAN link is down, it can trigger SMS Script / Sound Alaram, or shift to backup WAN link by enabling diabling ROUTE’s or it can also be used to detect any wan link failure detection and change the rules accordingly.
Possibilities are endless.
So here it is.

[for ver 5.x]

Adding Comments in Redirect Rule

First add comments in required NAT rule, i.e Rule that redirects port 80 traffic to squid. You can also disable/enable rules based on the numbers, BUT its not recommended BECAUSE if you add any new rule and move it somewhere, all your scripts will disable/enable wrong rules, that is why you have to use find command and get rules this way.

You can use GUI to add comment in the rule, I am showing you an example below . . .
/ip firewall nat
add action=dst-nat chain=dstnat comment=”Redirect to SQUID” disabled=no dst-port=80 protocol=tcp to-addresses=192.168.6.1 to-ports=8080

add action=masquerade chain=srcnat comment=”Default NAT Rule for Internet Access / zaib” disabled=no to-addresses=0.0.0.0

1- nat rule

Change the host ip address as your local requirements. Its jsut an example to show you.

.

.

Adding EMAIL account in mikrotik

/tool e-mail set address=73.194.78.109 from=yourgmailid@gmail.com password=your_password port=587 start-tls=no user=your_gmailid

Adding Scripts to Enable/Disable Rule

After adding comments in the dst-nt rule, you have to create two scripts that can enable and disable the dst-nat rule. We can name them UP and DOWN.
 Copy paste the below scripts on Mikrotik Terminal. It will create two scripts in System/Scripts with the name of UP and DOWN.

DOWN SCRIPT

:log info "Squid Proxy Server is not responding. Please Check Connectivity"
/ip firewall nat disable [find comment="Redirect to SQUID"]
:log info "Emailing the DOWN status. . . "
#/tool e-mail send to="aacable@hotmail.com" password=yourgmailid subject="Squid Proxy Server is not responding. Please Check Connectivity"  body="Squid Proxy Server is not responding. Please Check Connectivity" from=yourgmailid@gmail.com server=173.194.69.109 tls=yes

UP SCRIPT

:log info "Squid Proxy Server is OK."
/ip firewall nat enable [find comment="Redirect to SQUID"]
:log info "Emailing the UP status. . . "
#/tool e-mail send to="aacable@hotmail.com" password=yourgmailid subject="Squid Proxy Server is OK."  body="Squid Proxy Server is OK." from=yourgmailid@gmail.com server=173.194.69.109 tls=yes

2- Script-List

.

Adding NETWATCH to monitor Target Server [Squid] Link Detection

Use the below script to add netwatch entry for squid / target server link detection. It will also add the UP and DOWN script for the appropriate action. For example. When the target server link is down, it will execute script DOWN which will disable the NAT redirect rule , when the target server link is up and working, it will execute the UP script which will re-enable the redirect rule.

/tool netwatch
add comment=”Netwatch to Check SQUID Server Link state / zaib” disabled=no down-script=”/sys script run down” host=192.168.6.1 interval=5m timeout=1s \
    up-script=”/sys script run up”

3 - Squid Link Detection

(Replace the host ip to match your local target server ip)

.

.

Testing THE Scripts . . .   :)~

Now test the scripts, Unplug the Target Server LAN link, and you will see something like below in the LOG.

4- link down

.

Now plugin the Target Server LAN link, and you will see something like below in the LOG.

5- link up

.

.

[For Ver 6.x]

Netwatch base monitoring for local server. copy paste following and modify necessary information before enabling this rule.


 

First setup EMAIL config.

/tool e-mail
set address=173.194.67.108 from=YOUR_GMAILID@gmail.com last-status=succeeded password=GMAIL_PASSWORD port=587 start-tls=yes user=YOUR_GMAILID

 

Now add the netwatch script … You can simply copy paste the script, modify it before pasting …

/tool netwatch
add down-script=":log warning \"Squid Proxy Server is not responding. Please C\
    heck Connectivity . . . \"\r\
    \n:global sub1 ([/system identity get name])\r\
    \n:global sub2 ([/system clock get time])\r\
    \n:global sub3 ([/system clock get date])\r\
    \n:global adminmail1 YOURGMAIL@gmail.com\r\
    \n:global gmailid  YOURGMAIL@gmail.com\r\
    \n:global gmailpwd  GMAIL_PASSWORD\r\
    \n:global gmailsmtp\r\
    \n:set gmailsmtp [:resolve \"smtp.gmail.com\"];\r\
    \n\r\
    \n# ENABLING SQUID Redirect Rule\r\
    \n/ip firewall nat disable [find comment=\"Redirect to SQUID\"]\r\
    \n\r\
    \n/tool e-mail send to=\$adminmail1 password=\$gmailpwd subject=\"\$sub3 \
    \$sub2 \$sub1 SQUID IS DOWN ... DISABLING NAT RULE\" from=\$gmailid server\
    =\$gmailip start-tls=yes  body=\"Squid Proxy Server is not responding. Ple\
    ase Check Connectivity\"" host=192.168.6.2 interval=10s timeout=3s \
    up-script=":log warning \"Squid Proxy Server is UP. Enalbing REDIRECT NAT \
    rule  . . . \"\r\
    \n\r\
    \n:global sub1 ([/system identity get name])\r\
    \n:global sub2 ([/system clock get time])\r\
    \n:global sub3 ([/system clock get date])\r\
    \n:global adminmail1 YOURGMAIL@gmail.com\r\
    \n:global gmailid  YOURGMAIL@gmail.com\r\
    \n:global gmailpwd  GMAIL_PASSWORD\r\
    \n:global gmailsmtp\r\
    \n:set gmailsmtp [:resolve \"smtp.gmail.com\"];\r\
    \n\r\
    \n# Disabling SQUID Redirect Rule\r\
    \n/ip firewall nat disable [find comment=\"Redirect to SQUID\"]\r\
    \n\r\
    \n/tool e-mail send to=\$adminmail1 password=\$gmailpwd subject=\"\$sub3 \
    \$sub2 \$sub1 Squid Proxy Server is OK UP. Enabling REDIRECT NAT rule\" fr\
    om=\$gmailid server=\$gmailsmtp start-tls=yes  body=\"Squid Proxy Server i\
    s UP. Enalbing REDIRECT NAT rule\"\r\
    \n"


 

It will add the netwatch script, and will monitor your local server and will email you as well. Modify it before using it

 


 

SCRIPT TO CHECK SQUID STATUS AND START IT IF REQUIRED

Following script [checksquid.sh] will check SQUID service status , and if it found squid stop, it will start it auto, if the squid is already running , it will do nothing :)

First create file in any folder or temp folder by

mkdir /temp
touch /temp/checksquid.sh
chmod +x  /temp/checksquid.sh

Now edit this file

nano /temp/checksquid.sh

& paste the following code

#!/bin/bash
pid=`pidof squid`
if [ "$pid" == "" ]; then
echo -e "SQUID service is NOT running, Trying to start using SERVICE command  (( IF squid is installed via apt-get or yum ))  . . ."
service squid start

# or if squid is compiled then use simple command to start squid
echo -e "Now, Trying to start using squid command ( IF Squid is Compiled from the source)  . . ."
/usr/sbin/squid
echo You should now see the squid process below ...
echo .
sleep 3
ps aux |grep squid
else
echo SQUID service is Running OK , no further action required, EXITING  . . . You should see Squid process below ...
ps aux |grep squid
fi

Save & Exit.

Test it by running

/temp/checksquid.sh

You can check any service status with above command, if the service is not running , it will try to start with.

You can create its cron entry to run it after every 5 minutes.

For example, add it using CRON by following

crontab -e

and add following line

*/5 * * * * /temp/checksquid.sh

Now save and exit.

Regard’s

Syed Jahanzaib

January 4, 2013

Windows 7 Annoying Bug: Explorer doesn’t refresh automatically when Create/delete/move any file/folder

Filed under: Microsoft Related — Tags: , — Syed Jahanzaib / Pinochio~:) @ 11:42 AM

Today I found an annoying Bug in Windows 7 (Win7 Professional x86).
When a user try to Create / Delete/ Move any file from the Desktop, it still shows at desktop and when the user press F5 , it instantly appears/disappears, seems like windows Explorer auto refresh not working properly.

This resolved the issue for me:

Go to
Tools / Folder Options / General Tab,
and at  the bottom, in the ‘Navigation Pane‘, make sure ‘Show all folders‘ and Automatically expand to current folder‘ are checked.
As showed in the image below . . .

show-files

.

show-files2.


 

Another alternate method contributed by user…

Open explorer –> right click on Documents –> in the documents library pane click the Restore Defaults button –> click Apply


 

 

Regard’s
~ SYED  JAHANZAIB ~

January 3, 2013

DynamicDNS client for windows

Filed under: Microsoft Related — Tags: — Syed Jahanzaib / Pinochio~:) @ 12:56 PM

A friend of mine asked me howto configure DDNS client in Windows, so he ca remotely access his PC from the remote location, In my previous article  at
https://aacable.wordpress.com/tag/aacable-dynamicdns/
I described howto howto configure DynamicDNS (changeip.com) on Mikrotik  for remote management,but in this following short guide I will tell you how you can configure dynamicdns on windows using the ddns client.

To configure dynamicdns client (changeip.com) on windows base OS, First create your account at changeip.com (its well described at https://aacable.wordpress.com/tag/aacable-dynamicdns/)

After your account is created, now  download and install dynamic dns client (known as homingbeacon) from following location

http://www.changeip.com/dns/homingbeacon/default.aspx

Installation is fairly simple. Just clicking few next next 🙂

After installation is done, execute “The HomingBeacon Console” from the windows start menu. After its open , click on ‘I already have changeip.com account‘  (If you don’t already have the account, you can create it from the web or clicking on ‘) am a new changeip.com customer’
As showed in the image below . . .

1- pic1
.

.
Now Enter your changeip.com account id with password that you already created earlier.
As showed in the image below . . .

2- enter id passwordClick on Save & Close.

.

.

It will update the public IP of your WAN to your account at changeip.com
As showed in the image below . . .

3- update

.

Verify it by going to your changeip.com account, and see if the ip is updated properly. Now its time to configure your DSL router to create port forwarding rule, so required connections can be made from remote location.
For example you want to host HTTP Server on your local PC and want to access it remotely, open your DSL Router Page, and

Login to your dsl modem control panel.
As showed in the image below . . .

4-add nat in dsl.

.

5-add-nat-rule

.

.

 

Regard’s
Syed Jahanzaib

%d bloggers like this: