SlideShare a Scribd company logo
1 of 46
Technical Workshop 1 ADVANCED SYSTEMS MANAGEMENT Presented By Arik Fletcher Thursday January 29th 2009
Why Are We Here? These workshops aim to relay a simple mantra: A little TIME, EFFORT, and the right RESOURCES combined with TRAINING, PRACTICE, and TEAMWORK will vastly improve your KNOWLEDGE, ABILITY, and EXPERIENCE. KNOWLEDGE TEAMWORK TIME TRAINING RESOURCES EXPERIENCE PRACTICE EFFORT ABILITY Technical Workshop 1 - Advanced Network Management
Agenda Technical Workshop 1 - Advanced Network Management Administration Essentials09:45 – 10:30 Discussion:IT Support Expectations Exercise:Task Management and Automation Tutorial:	The Realities of Automation BREAK						10:30 –10:40 Scripting Essentials10:40 – 12:10 Overview:	Introduction to Scripting Tutorial:	Syntax and Reference Documents Tutorial:	Structure and Sample Code Exercise:	Script Writing and Troubleshooting BREAK						12:10 –12:20 Toolkit Essentials12:0 – 13:00 Overview: 	Utility DVD contents Discussion:	Recommended Tools
Administration Essentials TASK MANAGEMENT FOR SYSTEMS ENGINEERS Technical Workshop 1 - Advanced Network Management
IT Support:Expectations Interviews with staff at the Computer Depot in the University of Vermont. This video focuses on what IT Support Technicians expect from their computers. Technical Workshop 1 - Advanced Network Management
What Do You Expect From Your Computers? Technical Workshop 1 - Advanced Network Management
Recommended Admin Tasks Daily Checks: Server Services Server Event Logs Server Hardware Status Firewall Logs and Status Backup Status Antivirus Updates Weekly Checks: Server Disk Space Mail Store & Database Space Technical Workshop 1 - Advanced Network Management Monthly Checks: Restore Status Server Security Updates Network Application Patches Server Disk Fragmentation Workstation Hardware Status Printer Hardware Status Documentation Status Quarterly Checks: Workstation Builds
Where Does The Day Go? If you feel like this guy... don’t panic, help is at hand! Technical Workshop 1 - Advanced Network Management
Automated vs. Manual Tasks Automated Checks: Server Services Server Event Logs Server Hardware Status Firewall Logs and Status Backup Status Antivirus Updates Server Disk Space Mail Store & Database Space Server Security Updates Network Application Patches Server Disk Fragmentation Workstation Hardware Status Printer Hardware Status Technical Workshop 1 - Advanced Network Management Manual Checks: Restore Status Documentation Status Workstation Builds
Follow The A.R.P.C.E.D. Law Technical Workshop 1 - Advanced Network Management
The Truth Is Out There... Search before indulging in a potentially long and complex coding project Someone else has been there before and has probably written a script If in doubt, ask the team! Technical Workshop 1 - Advanced Network Management
All The Time In The World... Scripting is a long-term gain, but a short-term loss... A script can save you time once completed, but it will need a fair amount of time and energy to be invested in its initial development. Even when your script is done, you will find yourself spending further time and resources on testing and improving it. Technical Workshop 1 - Advanced Network Management
Can You Handle The Truth? Technical Workshop 1 - Advanced Network Management TAKE THE RED PILL: Stay in Wonderland and I show you how deep the rabbit-hole goes... TAKE THE BLUE PILL: The story ends, you wake up in your bed and believe whatever you want to believe... THE CHOICE IS YOURS...
Scripting Essentials A LOOK AT WINDOWS SHELL SCRIPTING Technical Workshop 1 - Advanced Network Management
Scripting Essentials Overview What is shell scripting? What can/can’t it do? What else is out there? How do I get started? Where do I learn more? Will this happen to me? Technical Workshop 1 - Advanced Network Management
What is Shell Scripting? A collection or ‘batch’ of commands run in sequence to complete a task or set of tasks. Quick and easy method of automating the most common admin or user tasks. An essential tool for both improving task efficiency and time management. Technical Workshop 1 - Advanced Network Management
What can/can’t shell scripts do? Technical Workshop 1 - Advanced Network Management
What Else Is Out There? Technical Workshop 1 - Advanced Network Management
Code Writing Guidelines Technical Workshop 1 - Advanced Network Management
When In Rome (or America)... Scripts are designed to be written in American English.  Regional Settings will not change the commands ‘Correct’ spelling is critical- “It is the American Way!” e.g. COLOR, Favorites, Organization, Customize, etc Technical Workshop 1 - Advanced Network Management
Shell Command Symbols Technical Workshop 1 - Advanced Network Management
Shell Prompt Modification Technical Workshop 1 - Advanced Network Management
Arguments & Variables ARGUMENTS Represented by single % symbol Values set by end user Numbered from 1 (0 is script) Generally used as switchese.g. ArguVars.cmd/test VARIABLES Identified by enclosed % symbols Values set by OS or script writer Named by OS or script writer Can be used as argumentse.g. ArguVars.cmd%os% Technical Workshop 1 - Advanced Network Management
Environmental Variables Technical Workshop 1 - Advanced Network Management
Environmental Variables (cont.) Technical Workshop 1 - Advanced Network Management
Internal & External Commands INTERNAL COMMANDS Part of CMD shell No file extensions Cannot run without shell Help command can be usede.g. HELP DIR EXTERNAL COMMANDS Separate from CMD shell Usually .exe or .com extensions Can be run outside of shell External help is usually needede.g. MSTSC/? Technical Workshop 1 - Advanced Network Management
Internal Commands Technical Workshop 1 - Advanced Network Management
Internal Commands (cont.) Technical Workshop 1 - Advanced Network Management
External Commands Technical Workshop 1 - Advanced Network Management
External Commands (cont.) Technical Workshop 1 - Advanced Network Management
Recommended Code Layout @ECHO off	- only show output CLS		- clear screen :START		- label start of code TITLE		- window/script title REM		- author/copyright :RUN		- label body of code REM		- command notes ECHO- a command to run :FINISH	- label end of code REM		- closing comments GOTO :EOF	- exit the script Technical Workshop 1 - Advanced Network Management
Importance of Comments and Layout Technical Workshop 1 - Advanced Network Management
FOR Used to iterate (repeat) tasks  USAGE: Uses lettered arguments with double % symbol in scripts and single % symbol from shell Requires in and do functions COMMON SWITCHES: Follow numeric series: FOR /l Perform file functions: FOR /f Technical Workshop 1 - Advanced Network Management
IF Allows for conditional tasks USAGE Follow with not for negatives Uses else in place of multiples Case sensitive unless /i is used Uses double = symbol in scripts and single = symbol in shell COMMON USES: File Check: IFexist %path% Variable Check: IFdefined os Compare: IF“%1”==“%path%” Technical Workshop 1 - Advanced Network Management
SET Creates temporary variables Values from script writer or user Performs arithmetic functions COMMON USES: Set Variable: SETvar=value Calculate: SET/a var=equation Prompt:SET/p var=question Technical Workshop 1 - Advanced Network Management
Green Code is Good Code RE-USABLE CODE: Mini-script within main script Reduces development time Guarantees fewer mistakes Improves code legibility USAGE GUIDELINES: Use labels to identify routines Use arguments and variables Should be after ‘end’ of script Must be called not directed to Technical Workshop 1 - Advanced Network Management
I can only show you the door, you're the one that has to walk through it... Technical Workshop 1 - Advanced Network Management
Script This! Print a line of text Clear the screen Change window color View a text file Save output to a file Create a variable Compare a variable Repeat a file task Calculate an equation ECHOvalue CLS COLOR value TYPEpathile.ext IPCONFIG> file.ext SETvar=value IF “%var%”==“value” FOR/f%%ain (‘cmd’) do SET/avar=equation Technical Workshop 1 - Advanced Network Management
Un-script This! Disables command echo Change window title Run the SUBTASK routine Exit the script Show a file in single pages Check for variable Check if command worked Prompt user for value Perform a task five times @ECHO off TITLE value CALL :SUBTASK GOTO:EOF TYPEfile.ext |MORE IFDEFINEDvar IF “%errorlevel%”==“0” SET/p var=value FOR/l%%ain (1,1,5) do Technical Workshop 1 - Advanced Network Management
Scripting Resources Web Links Books CS Portal Script Repositoryhttp://tinyurl.com/cspscripts Frank-Peter Schultze Scriptshttp://tinyurl.com/fpschultze TSCMD FAQ: Scripting Trickshttp://tinyurl.com/tscmdfaq TechNet A-Z Command Referencehttp://tinyurl.com/mscmdref Backup Exec 11d Documentshttp://tinyurl.com/be11docs Backup Exec 12d Documentshttp://tinyurl.com/be12doczip Windows NT Shell ScriptingISBN: 1-57870-047-7 Zero Administration for WindowsISBN: 1-56592-508-4 Windows 2000 Active DirectoryISBN: 1-56592-638-2 Windows 2000 Scripting BibleISBN: 0-7645-4677-5 Windows Desktop Deployment Resource KitISBN: 0-7356-1898-4 Windows Command Pocket ConsultantISBN: 0-7356-2262-0 Technical Workshop 1 - Advanced Network Management
Toolkit Essentials VITAL TOOLS AND UTILITIES FOR ALL TECHIES Technical Workshop 1 - Advanced Network Management
Technical Workshop 1 - Advanced Network Management
Utility Disc – DigiWiz miniPE2-XT Technical Workshop 1 - Advanced Network Management
Utility Disc – Hiren’s Boot CD Technical Workshop 1 - Advanced Network Management DOS Utility Boot CD with additional Windows Tools
Recommended Tools Script Writing: Notepad2 Notepad++ System Information: AIDA32 EZAudit Password Reset: Password Renew NT Offline Password Reset Product Key Recovery: Magic Jelly Bean Keyfinder NirsoftProduKey File Compression: IzArc2Go 7-Zip Disk Cloning: Symantec Ghost Acronis True Image Disk Partitioning: Partition Magic Paragon Partition Manager Partition Recovery: TestDisk Ontrack Easy Recovery Pro Deep Data Recovery: NTFS Undelete GetDataBack-NTFS/GetDataBack-FAT User Friendly Data Recovery: Recuva Restoration Technical Workshop 1 - Advanced Network Management
Recommended Tools (cont.) Floppy/USB Key Cloning: WinImage AntiSpyware: SDFix Webroot Spy Sweeper CD Image Creation: LCISOCreator ISO Buster CD Burning: ImgBurn Express Burn Disk Defragmentation: Defraggler JkDefrag File Copier: FastCopy SyncToy System Optimisation: CCleaner WinASOEasyTweak Driver Backup and Restore: Smart Driver Backup  DriverBackup! PE Editor: Resource Hacker PE Resource Explorer Personal Antivirus: Avast! NOD32 Technical Workshop 1 - Advanced Network Management

More Related Content

What's hot

Unit Testing vs Integration Testing
Unit Testing vs Integration TestingUnit Testing vs Integration Testing
Unit Testing vs Integration TestingRock Interview
 
What is objectives of software testing
What is objectives of software testingWhat is objectives of software testing
What is objectives of software testingSoftware Testing Books
 
Concept of Failure, error, fault and defect
Concept of Failure, error, fault and defectConcept of Failure, error, fault and defect
Concept of Failure, error, fault and defectchaklee191
 
Software reliability & quality
Software reliability & qualitySoftware reliability & quality
Software reliability & qualityNur Islam
 
Se (techniques for black box testing ppt)
Se (techniques for black box testing ppt)Se (techniques for black box testing ppt)
Se (techniques for black box testing ppt)Mani Kanth
 
Principles of Software testing
Principles of Software testingPrinciples of Software testing
Principles of Software testingMd Mamunur Rashid
 
Server configuration
Server configurationServer configuration
Server configurationAisha Talat
 
Remote administration
Remote administrationRemote administration
Remote administrationSuja Ritha
 
Software testing methods, levels and types
Software testing methods, levels and typesSoftware testing methods, levels and types
Software testing methods, levels and typesConfiz
 
Basic software-testing-concepts
Basic software-testing-conceptsBasic software-testing-concepts
Basic software-testing-conceptsmedsherb
 
Bash shell scripting
Bash shell scriptingBash shell scripting
Bash shell scriptingVIKAS TIWARI
 
Input output redirection linux
Input output redirection linuxInput output redirection linux
Input output redirection linuxTanishq Soni
 
Software quality assurance
Software quality assuranceSoftware quality assurance
Software quality assuranceAman Adhikari
 

What's hot (20)

Software maintenance
Software maintenanceSoftware maintenance
Software maintenance
 
Unit Testing vs Integration Testing
Unit Testing vs Integration TestingUnit Testing vs Integration Testing
Unit Testing vs Integration Testing
 
Unix - Filters/Editors
Unix - Filters/EditorsUnix - Filters/Editors
Unix - Filters/Editors
 
What is objectives of software testing
What is objectives of software testingWhat is objectives of software testing
What is objectives of software testing
 
Concept of Failure, error, fault and defect
Concept of Failure, error, fault and defectConcept of Failure, error, fault and defect
Concept of Failure, error, fault and defect
 
Software reliability & quality
Software reliability & qualitySoftware reliability & quality
Software reliability & quality
 
Case tools
Case toolsCase tools
Case tools
 
Se (techniques for black box testing ppt)
Se (techniques for black box testing ppt)Se (techniques for black box testing ppt)
Se (techniques for black box testing ppt)
 
Principles of Software testing
Principles of Software testingPrinciples of Software testing
Principles of Software testing
 
Server configuration
Server configurationServer configuration
Server configuration
 
Remote administration
Remote administrationRemote administration
Remote administration
 
Software testing methods, levels and types
Software testing methods, levels and typesSoftware testing methods, levels and types
Software testing methods, levels and types
 
Basic software-testing-concepts
Basic software-testing-conceptsBasic software-testing-concepts
Basic software-testing-concepts
 
Bash shell scripting
Bash shell scriptingBash shell scripting
Bash shell scripting
 
Testlink
TestlinkTestlink
Testlink
 
Software testing
Software testingSoftware testing
Software testing
 
Input output redirection linux
Input output redirection linuxInput output redirection linux
Input output redirection linux
 
The Software Development Process
The Software Development ProcessThe Software Development Process
The Software Development Process
 
Dns
DnsDns
Dns
 
Software quality assurance
Software quality assuranceSoftware quality assurance
Software quality assurance
 

Viewers also liked

Viewers also liked (15)

Batch file programming
Batch file programmingBatch file programming
Batch file programming
 
Batch File Programming
Batch File ProgrammingBatch File Programming
Batch File Programming
 
Batch file-programming
Batch file-programmingBatch file-programming
Batch file-programming
 
Linux unix-commands
Linux unix-commandsLinux unix-commands
Linux unix-commands
 
System Administration
System AdministrationSystem Administration
System Administration
 
ppt on SNA
ppt on SNAppt on SNA
ppt on SNA
 
Process and Threads in Linux - PPT
Process and Threads in Linux - PPTProcess and Threads in Linux - PPT
Process and Threads in Linux - PPT
 
virus programming using batch file
virus programming using batch filevirus programming using batch file
virus programming using batch file
 
System Administration: Introduction to system administration
System Administration: Introduction to system administrationSystem Administration: Introduction to system administration
System Administration: Introduction to system administration
 
Vi editor
Vi editorVi editor
Vi editor
 
Linux process management
Linux process managementLinux process management
Linux process management
 
Vi editor in linux
Vi editor in linuxVi editor in linux
Vi editor in linux
 
Shell scripting
Shell scriptingShell scripting
Shell scripting
 
Shell Scripting in Linux
Shell Scripting in LinuxShell Scripting in Linux
Shell Scripting in Linux
 
The "vi" Text Editor
The "vi" Text EditorThe "vi" Text Editor
The "vi" Text Editor
 

Similar to Basics of Batch Scripting

Mastering Regex in Perl
Mastering Regex in PerlMastering Regex in Perl
Mastering Regex in PerlEdureka!
 
REX about installing Kubernetes on Premise
REX about installing Kubernetes on PremiseREX about installing Kubernetes on Premise
REX about installing Kubernetes on PremiseAnaël CHARDAN
 
Big Java Chapter 1
Big Java Chapter 1Big Java Chapter 1
Big Java Chapter 1Maria Joslin
 
Webinar: Learn Perl - The Jewel of Scripting Languages
Webinar: Learn Perl - The Jewel of Scripting LanguagesWebinar: Learn Perl - The Jewel of Scripting Languages
Webinar: Learn Perl - The Jewel of Scripting LanguagesEdureka!
 
Wsv406 Advanced Automation Using Windows Power Shell2.0
Wsv406 Advanced Automation Using Windows Power Shell2.0Wsv406 Advanced Automation Using Windows Power Shell2.0
Wsv406 Advanced Automation Using Windows Power Shell2.0jsnover1
 
Learn Powershell Scripting Tutorial Full Course 1dollarcart.com.pdf
Learn Powershell Scripting Tutorial Full Course 1dollarcart.com.pdfLearn Powershell Scripting Tutorial Full Course 1dollarcart.com.pdf
Learn Powershell Scripting Tutorial Full Course 1dollarcart.com.pdfClapperboardCinemaPV
 
The UNIX philosophy
The UNIX philosophyThe UNIX philosophy
The UNIX philosophyKevin Maiyo
 
"Hints" talk at Walchand College Sangli, March 2017
"Hints" talk at Walchand College Sangli, March 2017"Hints" talk at Walchand College Sangli, March 2017
"Hints" talk at Walchand College Sangli, March 2017Neeran Karnik
 
PHP Performance: Principles and tools
PHP Performance: Principles and toolsPHP Performance: Principles and tools
PHP Performance: Principles and tools10n Software, LLC
 
Chapter_1_Computer_Abstractions_and_Tech.ppt
Chapter_1_Computer_Abstractions_and_Tech.pptChapter_1_Computer_Abstractions_and_Tech.ppt
Chapter_1_Computer_Abstractions_and_Tech.pptnivine7
 
Life & Work of Butler Lampson | Turing100@Persistent
Life & Work of Butler Lampson | Turing100@PersistentLife & Work of Butler Lampson | Turing100@Persistent
Life & Work of Butler Lampson | Turing100@PersistentPersistent Systems Ltd.
 
Terraform modules restructured
Terraform modules restructuredTerraform modules restructured
Terraform modules restructuredAmi Mahloof
 

Similar to Basics of Batch Scripting (20)

Mastering Regex in Perl
Mastering Regex in PerlMastering Regex in Perl
Mastering Regex in Perl
 
REX about installing Kubernetes on Premise
REX about installing Kubernetes on PremiseREX about installing Kubernetes on Premise
REX about installing Kubernetes on Premise
 
Big Java Chapter 1
Big Java Chapter 1Big Java Chapter 1
Big Java Chapter 1
 
Webinar: Learn Perl - The Jewel of Scripting Languages
Webinar: Learn Perl - The Jewel of Scripting LanguagesWebinar: Learn Perl - The Jewel of Scripting Languages
Webinar: Learn Perl - The Jewel of Scripting Languages
 
Savitch Ch 01
Savitch Ch 01Savitch Ch 01
Savitch Ch 01
 
Wsv406 Advanced Automation Using Windows Power Shell2.0
Wsv406 Advanced Automation Using Windows Power Shell2.0Wsv406 Advanced Automation Using Windows Power Shell2.0
Wsv406 Advanced Automation Using Windows Power Shell2.0
 
Intro To AOP
Intro To AOPIntro To AOP
Intro To AOP
 
Activity 5
Activity 5Activity 5
Activity 5
 
Ch1
Ch1Ch1
Ch1
 
Ch1
Ch1Ch1
Ch1
 
Learn Powershell Scripting Tutorial Full Course 1dollarcart.com.pdf
Learn Powershell Scripting Tutorial Full Course 1dollarcart.com.pdfLearn Powershell Scripting Tutorial Full Course 1dollarcart.com.pdf
Learn Powershell Scripting Tutorial Full Course 1dollarcart.com.pdf
 
Savitch ch 01
Savitch ch 01Savitch ch 01
Savitch ch 01
 
Savitch ch 01
Savitch ch 01Savitch ch 01
Savitch ch 01
 
The UNIX philosophy
The UNIX philosophyThe UNIX philosophy
The UNIX philosophy
 
"Hints" talk at Walchand College Sangli, March 2017
"Hints" talk at Walchand College Sangli, March 2017"Hints" talk at Walchand College Sangli, March 2017
"Hints" talk at Walchand College Sangli, March 2017
 
PHP Performance: Principles and tools
PHP Performance: Principles and toolsPHP Performance: Principles and tools
PHP Performance: Principles and tools
 
Chapter_1_Computer_Abstractions_and_Tech.ppt
Chapter_1_Computer_Abstractions_and_Tech.pptChapter_1_Computer_Abstractions_and_Tech.ppt
Chapter_1_Computer_Abstractions_and_Tech.ppt
 
No-script PowerShell v2
No-script PowerShell v2No-script PowerShell v2
No-script PowerShell v2
 
Life & Work of Butler Lampson | Turing100@Persistent
Life & Work of Butler Lampson | Turing100@PersistentLife & Work of Butler Lampson | Turing100@Persistent
Life & Work of Butler Lampson | Turing100@Persistent
 
Terraform modules restructured
Terraform modules restructuredTerraform modules restructured
Terraform modules restructured
 

Recently uploaded

Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Victor Rentea
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024The Digital Insurer
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsNanddeep Nachan
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Jeffrey Haguewood
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusZilliz
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024The Digital Insurer
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesrafiqahmad00786416
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWERMadyBayot
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...apidays
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Victor Rentea
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Orbitshub
 

Recently uploaded (20)

Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 

Basics of Batch Scripting

  • 1. Technical Workshop 1 ADVANCED SYSTEMS MANAGEMENT Presented By Arik Fletcher Thursday January 29th 2009
  • 2. Why Are We Here? These workshops aim to relay a simple mantra: A little TIME, EFFORT, and the right RESOURCES combined with TRAINING, PRACTICE, and TEAMWORK will vastly improve your KNOWLEDGE, ABILITY, and EXPERIENCE. KNOWLEDGE TEAMWORK TIME TRAINING RESOURCES EXPERIENCE PRACTICE EFFORT ABILITY Technical Workshop 1 - Advanced Network Management
  • 3. Agenda Technical Workshop 1 - Advanced Network Management Administration Essentials09:45 – 10:30 Discussion:IT Support Expectations Exercise:Task Management and Automation Tutorial: The Realities of Automation BREAK 10:30 –10:40 Scripting Essentials10:40 – 12:10 Overview: Introduction to Scripting Tutorial: Syntax and Reference Documents Tutorial: Structure and Sample Code Exercise: Script Writing and Troubleshooting BREAK 12:10 –12:20 Toolkit Essentials12:0 – 13:00 Overview: Utility DVD contents Discussion: Recommended Tools
  • 4. Administration Essentials TASK MANAGEMENT FOR SYSTEMS ENGINEERS Technical Workshop 1 - Advanced Network Management
  • 5. IT Support:Expectations Interviews with staff at the Computer Depot in the University of Vermont. This video focuses on what IT Support Technicians expect from their computers. Technical Workshop 1 - Advanced Network Management
  • 6. What Do You Expect From Your Computers? Technical Workshop 1 - Advanced Network Management
  • 7. Recommended Admin Tasks Daily Checks: Server Services Server Event Logs Server Hardware Status Firewall Logs and Status Backup Status Antivirus Updates Weekly Checks: Server Disk Space Mail Store & Database Space Technical Workshop 1 - Advanced Network Management Monthly Checks: Restore Status Server Security Updates Network Application Patches Server Disk Fragmentation Workstation Hardware Status Printer Hardware Status Documentation Status Quarterly Checks: Workstation Builds
  • 8. Where Does The Day Go? If you feel like this guy... don’t panic, help is at hand! Technical Workshop 1 - Advanced Network Management
  • 9. Automated vs. Manual Tasks Automated Checks: Server Services Server Event Logs Server Hardware Status Firewall Logs and Status Backup Status Antivirus Updates Server Disk Space Mail Store & Database Space Server Security Updates Network Application Patches Server Disk Fragmentation Workstation Hardware Status Printer Hardware Status Technical Workshop 1 - Advanced Network Management Manual Checks: Restore Status Documentation Status Workstation Builds
  • 10. Follow The A.R.P.C.E.D. Law Technical Workshop 1 - Advanced Network Management
  • 11. The Truth Is Out There... Search before indulging in a potentially long and complex coding project Someone else has been there before and has probably written a script If in doubt, ask the team! Technical Workshop 1 - Advanced Network Management
  • 12. All The Time In The World... Scripting is a long-term gain, but a short-term loss... A script can save you time once completed, but it will need a fair amount of time and energy to be invested in its initial development. Even when your script is done, you will find yourself spending further time and resources on testing and improving it. Technical Workshop 1 - Advanced Network Management
  • 13. Can You Handle The Truth? Technical Workshop 1 - Advanced Network Management TAKE THE RED PILL: Stay in Wonderland and I show you how deep the rabbit-hole goes... TAKE THE BLUE PILL: The story ends, you wake up in your bed and believe whatever you want to believe... THE CHOICE IS YOURS...
  • 14. Scripting Essentials A LOOK AT WINDOWS SHELL SCRIPTING Technical Workshop 1 - Advanced Network Management
  • 15. Scripting Essentials Overview What is shell scripting? What can/can’t it do? What else is out there? How do I get started? Where do I learn more? Will this happen to me? Technical Workshop 1 - Advanced Network Management
  • 16. What is Shell Scripting? A collection or ‘batch’ of commands run in sequence to complete a task or set of tasks. Quick and easy method of automating the most common admin or user tasks. An essential tool for both improving task efficiency and time management. Technical Workshop 1 - Advanced Network Management
  • 17. What can/can’t shell scripts do? Technical Workshop 1 - Advanced Network Management
  • 18. What Else Is Out There? Technical Workshop 1 - Advanced Network Management
  • 19. Code Writing Guidelines Technical Workshop 1 - Advanced Network Management
  • 20. When In Rome (or America)... Scripts are designed to be written in American English. Regional Settings will not change the commands ‘Correct’ spelling is critical- “It is the American Way!” e.g. COLOR, Favorites, Organization, Customize, etc Technical Workshop 1 - Advanced Network Management
  • 21. Shell Command Symbols Technical Workshop 1 - Advanced Network Management
  • 22. Shell Prompt Modification Technical Workshop 1 - Advanced Network Management
  • 23. Arguments & Variables ARGUMENTS Represented by single % symbol Values set by end user Numbered from 1 (0 is script) Generally used as switchese.g. ArguVars.cmd/test VARIABLES Identified by enclosed % symbols Values set by OS or script writer Named by OS or script writer Can be used as argumentse.g. ArguVars.cmd%os% Technical Workshop 1 - Advanced Network Management
  • 24. Environmental Variables Technical Workshop 1 - Advanced Network Management
  • 25. Environmental Variables (cont.) Technical Workshop 1 - Advanced Network Management
  • 26. Internal & External Commands INTERNAL COMMANDS Part of CMD shell No file extensions Cannot run without shell Help command can be usede.g. HELP DIR EXTERNAL COMMANDS Separate from CMD shell Usually .exe or .com extensions Can be run outside of shell External help is usually needede.g. MSTSC/? Technical Workshop 1 - Advanced Network Management
  • 27. Internal Commands Technical Workshop 1 - Advanced Network Management
  • 28. Internal Commands (cont.) Technical Workshop 1 - Advanced Network Management
  • 29. External Commands Technical Workshop 1 - Advanced Network Management
  • 30. External Commands (cont.) Technical Workshop 1 - Advanced Network Management
  • 31. Recommended Code Layout @ECHO off - only show output CLS - clear screen :START - label start of code TITLE - window/script title REM - author/copyright :RUN - label body of code REM - command notes ECHO- a command to run :FINISH - label end of code REM - closing comments GOTO :EOF - exit the script Technical Workshop 1 - Advanced Network Management
  • 32. Importance of Comments and Layout Technical Workshop 1 - Advanced Network Management
  • 33. FOR Used to iterate (repeat) tasks USAGE: Uses lettered arguments with double % symbol in scripts and single % symbol from shell Requires in and do functions COMMON SWITCHES: Follow numeric series: FOR /l Perform file functions: FOR /f Technical Workshop 1 - Advanced Network Management
  • 34. IF Allows for conditional tasks USAGE Follow with not for negatives Uses else in place of multiples Case sensitive unless /i is used Uses double = symbol in scripts and single = symbol in shell COMMON USES: File Check: IFexist %path% Variable Check: IFdefined os Compare: IF“%1”==“%path%” Technical Workshop 1 - Advanced Network Management
  • 35. SET Creates temporary variables Values from script writer or user Performs arithmetic functions COMMON USES: Set Variable: SETvar=value Calculate: SET/a var=equation Prompt:SET/p var=question Technical Workshop 1 - Advanced Network Management
  • 36. Green Code is Good Code RE-USABLE CODE: Mini-script within main script Reduces development time Guarantees fewer mistakes Improves code legibility USAGE GUIDELINES: Use labels to identify routines Use arguments and variables Should be after ‘end’ of script Must be called not directed to Technical Workshop 1 - Advanced Network Management
  • 37. I can only show you the door, you're the one that has to walk through it... Technical Workshop 1 - Advanced Network Management
  • 38. Script This! Print a line of text Clear the screen Change window color View a text file Save output to a file Create a variable Compare a variable Repeat a file task Calculate an equation ECHOvalue CLS COLOR value TYPEpathile.ext IPCONFIG> file.ext SETvar=value IF “%var%”==“value” FOR/f%%ain (‘cmd’) do SET/avar=equation Technical Workshop 1 - Advanced Network Management
  • 39. Un-script This! Disables command echo Change window title Run the SUBTASK routine Exit the script Show a file in single pages Check for variable Check if command worked Prompt user for value Perform a task five times @ECHO off TITLE value CALL :SUBTASK GOTO:EOF TYPEfile.ext |MORE IFDEFINEDvar IF “%errorlevel%”==“0” SET/p var=value FOR/l%%ain (1,1,5) do Technical Workshop 1 - Advanced Network Management
  • 40. Scripting Resources Web Links Books CS Portal Script Repositoryhttp://tinyurl.com/cspscripts Frank-Peter Schultze Scriptshttp://tinyurl.com/fpschultze TSCMD FAQ: Scripting Trickshttp://tinyurl.com/tscmdfaq TechNet A-Z Command Referencehttp://tinyurl.com/mscmdref Backup Exec 11d Documentshttp://tinyurl.com/be11docs Backup Exec 12d Documentshttp://tinyurl.com/be12doczip Windows NT Shell ScriptingISBN: 1-57870-047-7 Zero Administration for WindowsISBN: 1-56592-508-4 Windows 2000 Active DirectoryISBN: 1-56592-638-2 Windows 2000 Scripting BibleISBN: 0-7645-4677-5 Windows Desktop Deployment Resource KitISBN: 0-7356-1898-4 Windows Command Pocket ConsultantISBN: 0-7356-2262-0 Technical Workshop 1 - Advanced Network Management
  • 41. Toolkit Essentials VITAL TOOLS AND UTILITIES FOR ALL TECHIES Technical Workshop 1 - Advanced Network Management
  • 42. Technical Workshop 1 - Advanced Network Management
  • 43. Utility Disc – DigiWiz miniPE2-XT Technical Workshop 1 - Advanced Network Management
  • 44. Utility Disc – Hiren’s Boot CD Technical Workshop 1 - Advanced Network Management DOS Utility Boot CD with additional Windows Tools
  • 45. Recommended Tools Script Writing: Notepad2 Notepad++ System Information: AIDA32 EZAudit Password Reset: Password Renew NT Offline Password Reset Product Key Recovery: Magic Jelly Bean Keyfinder NirsoftProduKey File Compression: IzArc2Go 7-Zip Disk Cloning: Symantec Ghost Acronis True Image Disk Partitioning: Partition Magic Paragon Partition Manager Partition Recovery: TestDisk Ontrack Easy Recovery Pro Deep Data Recovery: NTFS Undelete GetDataBack-NTFS/GetDataBack-FAT User Friendly Data Recovery: Recuva Restoration Technical Workshop 1 - Advanced Network Management
  • 46. Recommended Tools (cont.) Floppy/USB Key Cloning: WinImage AntiSpyware: SDFix Webroot Spy Sweeper CD Image Creation: LCISOCreator ISO Buster CD Burning: ImgBurn Express Burn Disk Defragmentation: Defraggler JkDefrag File Copier: FastCopy SyncToy System Optimisation: CCleaner WinASOEasyTweak Driver Backup and Restore: Smart Driver Backup DriverBackup! PE Editor: Resource Hacker PE Resource Explorer Personal Antivirus: Avast! NOD32 Technical Workshop 1 - Advanced Network Management

Editor's Notes

  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. ________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________