Presenters: Winfred Wangeci Jignash Reddy.  It is Microsoft's new task-based command- line shell and scripting language designed especially for system.

Slides:



Advertisements
Similar presentations
MCTS Guide to Microsoft Windows Server 2008 Network Infrastructure Configuration Chapter 6 Managing and Administering DNS in Windows Server 2008.
Advertisements

$$ Idea Updatable help system Method overload discovery HelpUri attribute support HelpFile property on FunctionInfo Simplified Where and.
Microsoft PowerShell Tom Roeder CS fa. Motivation.NET as a platform shell web server database access Native access to resources eaiser to manage.
James Boother Blog: INTRODUCTION TO POWERSHELL.
70-290: MCSE Guide to Managing a Microsoft Windows Server 2003 Environment Chapter 8: Implementing and Managing Printers.
MCITP Guide to Microsoft Windows Server 2008 Server Administration (Exam #70-646) Chapter 14 Server and Network Monitoring.
Microsoft ® shell scripting environment Gives administrators more power and command in the shell environment – Hence…PowerShell? Active Directory Module.
Basic.  PS is a command line interpreter/scripting environment  Designed for.Net  Similar to C#  Easy to instantiate.Net classes  Standardized syntax.
MCTS Guide to Microsoft Windows Server 2008 Network Infrastructure Configuration Chapter 11 Managing and Monitoring a Windows Server 2008 Network.
Daniel Petri MVP, Microsoft Infrastructure Manager John Bryce Training November 2007.
Installing Windows XP Professional Using Attended Installation Slide 1 of 41Session 2 Ver. 1.0 CompTIA A+ Certification: A Comprehensive Approach for all.
Welcome Course 20410B Module 0: Introduction Audience
MCTS Guide to Microsoft Windows Server 2008 Network Infrastructure Configuration Chapter 7 Configuring File Services in Windows Server 2008.
1 Chapter Overview Creating User and Computer Objects Maintaining User Accounts Creating User Profiles.
Hosted Exchange The purpose of this Startup Guide is to familiarize you with ExchangeDefender's Exchange and SharePoint Hosting. ExchangeDefender.
Module 2 Creating Active Directory ® Domain Services User and Computer Objects.
Microsoft Windows 2003 Server. Client/Server Environment Many client computers connect to a server.
Chapter-4 Windows 2000 Professional Win2K Professional provides a very usable interface and was designed for use in the desktop PC. Microsoft server system.
MS WINDOWS POWER SHELL CSE 535 Operating Systems.
Hands-On Microsoft Windows Server 2008
ASP.NET 2.0 Chapter 5 Advanced Web Controls. ASP.NET 2.0, Third Edition2 Objectives.
Chapter 6 Configuring Windows Server 2008 Printing
XP New Perspectives on Browser and Basics Tutorial 1 1 Browser and Basics Tutorial 1.
Windows PowerShell Deep Dive 1 Morgan Simonsen Ementor.
5 Chapter Five Web Servers. 5 Chapter Objectives Learn about the Microsoft Personal Web Server Software Learn how to improve Web site performance Learn.
Microsoft ® Official Course Module XA Using Windows PowerShell ®
Copyright 2000 eMation SECURITY - Controlling Data Access with
PowerShell Basics. o PowerShell is a great way to manipulate server and/or workstation components o It’s geared toward system administrators by creating.
Appendix A Starting Out with Windows PowerShell™ 2.0.
Database-Driven Web Sites, Second Edition1 Chapter 5 WEB SERVERS.
Chapter 13 Users, Groups Profiles and Policies. Learning Objectives Understand Windows XP Professional user accounts Understand the different types of.
MCSE Guide to Microsoft Exchange Server 2003 Administration Chapter Two Installing and Configuring Exchange Server 2003.
Section 6: Using Windows PowerShell to Manage Group Policy Introducing Windows PowerShell Windows PowerShell Library for Group Policy Windows PowerShell-Based.
December, 21, 2010 Bartek Bielawski Sr IT Site Services Specialist Warsaw, Poland.
Active Server Pages  In this chapter, you will learn:  How browsers and servers interacted on the Internet when the Internet first became popular 
Good Morning and Thank You!.  Have some Fun!  Learn at least one thing new!  Make myself available to you So please …  Ask questions and enjoy!
POWERSHELL SHENANIGANS KIERAN JACOBSEN HP ENTERPRISE SERVICES.
Module 1: Configuring Windows Server Module Overview Describe Windows Server 2008 roles Describe Windows Server 2008 features Describe Windows Server.
1 Administering Shared Folders Understanding Shared Folders Planning Shared Folders Sharing Folders Combining Shared Folder Permissions and NTFS Permissions.
Module 5: Configuring Internet Explorer and Supporting Applications.
MCTS Guide to Microsoft Windows Server 2008 Applications Infrastructure Configuration (Exam # ) Chapter Five Windows Server 2008 Remote Desktop Services,
Module 3 Configuring File Access and Printers on Windows ® 7 Clients.
System.Security.Policy namespace Chinmay Lokesh.NET Security CS 795 Summer 2010.
Lesson 3: Migrating and Configuring User Data
 Creating and manipulating text has long been one of the primary tasks of scripting languages and  traditional shells. In fact, Perl (the language)
Administering Group Policy Chapter Eleven. Exam Objectives in this Chapter  Plan a Group Policy strategy using Resultant Set of Policy Planning mode.
Windows PowerShell Introduction 1 Morgan Simonsen Ementor.
 An alias is an alternative name assigned to a Cmdlet.  Aliases allow users to quickly interact with the shell.  The Cmdlet get-alias is.
MySQL Getting Started BCIS 3680 Enterprise Programming.
POWERSHELL BASICS. BACKGROUND  Powershell is a task automation and scripting language based off the.NET framework  It provides the user full access.
8 Chapter Eight Server-side Scripts. 8 Chapter Objectives Create dynamic Web pages that retrieve and display database data using Active Server Pages Process.
 It is Microsoft's new task-based command- line shell and scripting language designed especially for system administration.  It helps Information Technology.
Windows PowerShell. What is Windows PowerShell? A command-line interface (CLI) A new way of developing Windows and other products to be more manageable.
MCSE Guide to Microsoft Exchange Server 2003 Administration Chapter Three Managing Recipients.
Module 14: Advanced Topics and Troubleshooting. Microsoft ® Windows ® Small Business Server (SBS) 2008 Management Console (Advanced Mode) Managing Windows.
 Version 1.0[edit]edit  Version 1.0 was released in 2006 for Windows XP SP2/SP3, Windows Server 2003,
Windows Certification Paths OR MCSA Windows Server 2012 Installing and Configuring Windows Server 2012 Exam (20410) Administering Windows Server.
MySQL Getting Started BCIS 3680 Enterprise Programming.
Planning Server Deployments Chapter 1. Server Deployment When planning a server deployment for a large enterprise network, the operating system edition.
Ravikanth C.
Microsoft Installing & Configuring Windows Server Exam Questions Answers Powered By:
Pass Microsoft Installing and Configuring Windows Server 2012 exam in just 24 HOURS! 100% REAL EXAM QUESTIONS ANSWERS Microsoft Installing.
Windows Server 2003 { First Steps and Administration} Benedikt Riedel MCSE + Messaging
PowerShell Introduction Copyright © 2016 – Curt Hill.
Exam In The First Attempt?
Getting Started with the Data ONTAP PowerShell Toolkit
Pass Microsoft Exam in First Attempt | Dumps4download.us
PowerShell Best Practices for SQL DBA’s
Cmdlets “Command-lets”
Presentation transcript:

Presenters: Winfred Wangeci Jignash Reddy

 It is Microsoft's new task-based command- line shell and scripting language designed especially for system administration.  It helps Information Technology Professionals and PowerShell users control and automate the Administration of the Windows operating system and applications that run on Windows.

 To address recurring needs (Viewing the logged Members )  To run script(s) as a scheduled task ( Running a command when user login or logoff)  To store and share ideas behind the scripts (Creating and modifying files and folders)  Automate repetitive tasks (Automate the user session time)

 Presently, Microsoft Windows programmers have several options when it comes to scripting. They can use: 1.MS-DOS (or CMD) to create simple batch files 2.VBScript for more complex programming 3.PowerShell to make the most of the.NET framework  With one of the above or a combination of all, a programmer gets complete control of all of the objects on a Windows computer.

 A cmdlet is a lightweight command that is used in the Windows PowerShell environment.  Cmdlets follow a verb-noun naming pattern. Examples of verbs: get, set, new Examples of nouns: service, item, date

 Below are sample Cmdlets following the verb- noun naming pattern: PS C:\>get-childitem C:\ (Gets the items and child items in one or more specified locations.) PS C:\>get-service (Retrieve information about the services installed on your computer.) PS C:\>set-location D:\ ( It enables you to specify a new working location.) PS C:\> set-location “c:\my documents”

 Get-Help (get-help set-* gives all cmdlets that start with Set-.)  Get-Command (you’ll get back a list of all the Windows PowerShell cmdlets)  Get-Member (will enumerate the properties and methods of that object.)  Get-Psdrive (Gets the Windows PowerShell drives in the current session)  Format-List (each property is displayed on a separate line)

They differ from commands used in other command-shell environments in that:  They are instances of.NET Framework classes; they are not stand-alone executables.  They can be created from as few as a dozen lines of code.  They do not usually do their own parsing, error presentation, or output formatting. All these are handled by the Windows PowerShell runtime.  They process input objects from the pipeline rather than from streams of text, and cmdlets typically deliver objects as output to the pipeline.  They are record-oriented because they process a single object at a time.

 An alias is an alternative name assigned to a Cmdlet.  Aliases allow users to quickly interact with the shell.  The Cmdlet get-alias is used to list all built- in aliases as shown in the diagram on the next slide:

 They are.NET programs used to provide easy access to information external to the shell environment in order for the users to view it and manage it.  To obtain a listing of all the providers, the Get-PSProvider cmdlet is used.  To work with specific providers, use the set- location cmdlet then specify the provider drive.

 There are seven types of providers namely: 1. Alias - Provides access to the windows PowerShell aliases and their values Get-PSProvider Sl Alias:\ GCI | where-object {$_.name –like “s*”} 2. Environment - Provides access to the Windows environment variables. 3. FileSystem - Provides access to files and directories. 4. Function - Provides access to the functions defined in Windows PowerShell.

5. Registry Provides access to the system registry keys and values. 6. Variable Provides access to Windows PowerShell variables and their values. 7. Certificate Provides read-only access to certificate stores and certificates.

1.To address recurring problems DirectoryListWithArguments.ps1 foreach ($i in $args) {Get-ChildItem $i | Where-Object {$_.length -gt 1000} | Sort-Object -property name}

2.To run the script as a scheduled task ListProcessesSortResults.ps1 $args = "localhost","loopback"," " foreach ($i in $args) {$strFile = "c:\mytest\"+ $i +"Processes.txt" Write-Host "Testing" $i "please wait..."; Get-WmiObject -computername $i -class win32_process | Select-Object name, processID, Priority, ThreadCount, PageFaults, PageFileUsage | Where-Object {!$_.processID -eq 0} | Sort-Object -property name | Format-Table | Out-File $strFile}

3. To store and share both the “secret commands” and the ideas behind the scripts AccountsWithNoRequiredPassword.ps1 $args = "localhost" foreach ($i in $args) {Write-Host "Connecting to" $i "please wait..."; Get-WmiObject -computername $i -class win32_UserAccount | Select-Object Name, Disabled, PasswordRequired, SID, SIDType | Where-Object {$_.PasswordRequired -eq 0} | Sort-Object -property name | Write-Host }

Scripting support is disabled by default in Windows PowerShell. Running a script when policy is not set generates an error message that must be fixed to allow script execution.

 There are four levels of execution policy: 1. Restricted Will not run scripts or configuration files 2. AllSigned All scripts and configuration files must be signed by a trusted publisher 3. RemoteSigned All scripts and configuration files downloaded from the internet must be signed by a trusted publisher 4. Unrestricted All scripts and configuration files will run

 Use the Get-ExecutionPolicy cmdlet to retrieve the current effective script execution policy.  Use the Set-ExecutionPolicy cmdlet to change the script execution policy to unrestricted as shown below: Set-ExecutionPolicy unrestricted

 Running a script can be done either within or outside PowerShell.  Running the script within PowerShell requires the following steps: 1.Type the full path to the script 2.Include the name of the script 3.Ensure you include the PS1 extension C:\mytest\RetrieveAndSortServiceState.PS1

 Running scripts outside PowerShell requires the following steps: 1.Type the full path to the script 2.Include the name of the script 3.Ensure you include the PS1 extension 4.Feed this to the PowerShell.exe program 5.Use the –noexit argument to keep the PowerShell console after script execution Powershell –noexit C:\mytest\RetrieveAndSortServiceState.PS1

Powershell evaluates the condition at the start of each cycle and if it’s true, then it executes the command block as shown in the loop below: $wmi = get-wmiObject win32_processor if ($wmi.Architecture -eq 0) {"This is an x86 computer"} elseif($wmi.architecture -eq 1) {"This is an MIPS computer"} elseif($wmi.architecture -eq 2) {"This is an Alapha computer"} elseif($wmi.architecture -eq 3) {"This is an PowerPC computer"} elseif($wmi.architecture -eq 6) {"This is an IPF computer"} elseif($wmi.architecture -eq 9) {"This is an x64 computer"} else {$wmi.architecture + " is not a cpu type I am familiar with"} "Current clockspeed is : " + $wmi.CurrentClockSpeed + " MHZ" "Max clockspeed is : " + $wmi.MaxClockSpeed + " MHZ" "Current load percentage is: " + $wmi.LoadPercentage + " Percent" "The L2 cache size is: " + $wmi.L2CacheSize + " KB"

 They enable users to write a script that can choose from a series of options without writing a long series of If statements as shown below: $wmi = get-wmiobject win32_computersystem "computer " + $wmi.name + " is: " switch ($wmi.domainrole) { 0 {"`t Stand alone workstation"} 1 {"`t Member workstation"} 2 {"`t Stand alone server"} 3 {"`t Member server"} 4 {"`t Back up domain controller"} 5 {"`t Primary domain controller"} default {"`t The role can not be determined"} }

 Files and Folders New-Item is a quick and easy way to create a new file or folder on your computer. Creating a file: New-Item c:\scripts\new_file.txt - type file Creating a folder: New-Item c:\scripts\Windows PowerShell -type directory

$intFolders = 10 $intPad $i = 1 New-Variable -Name strPrefix -Value "testFolder" -Option constant do { if ($i -lt 10) {$intPad=0 new-item -path c:\mytest -name $strPrefix$intPad$i -type directory} else {new-item -path c:\mytest -name $strPrefix$i -type directory} $i++ }until ($i -eq $intFolders+1)

$intFolders = 10 $intPad $i = 1 New-Variable -Name strPrefix -Value "testFolder" - Option constant do { if ($i -lt 10) {$intPad=0 Remove-item -path c:\mytest\$strPrefix$intPad$i} else {Remove-item -path c:\mytest\$strPrefix$i} $i++ }until ($i -eq $intFolders+1)

 One of the most powerful and possibly confusing aspects of PowerShell.  The output of one program can be the input to another  Pipelining is passing data and objects from one cmdlet to another in a very robust fashion.  A | B | C meaning the output of A goes to B, and the output of B goes to C.

PS C:\> Get-Process | where { $_.handlecount -gt 400 } | Format-List This example is actually executing three cmdlets 1.The first, Get-Process, returns a list of all running processes 2.The second, Where {..} will return the conditioned value which handlecount is greater than Finally the Format-list will display the results in Alphabetic order

PS C:\> Get-Process | where { $_.handlecount -gt 400 } | Format-List ProcessName : csrss Id : 1080 ProcessName : explorer Id : 1952 ProcessName : Groove Id : 2656 ProcessName : inetinfo Id : 1524

 The sort-object cmdlet is used to produce a listing of items in ascending/descending order Get-EventLog system -newest 5 | Sort-Object eventid Produces the output below:

 Windows PowerShell -129 Commands Get-Command  Exchange PowerShell-394 Commands Get-EXCommand

 New-Mailbox  Get-Mailbox  Set-Mailbox  Mov box  Remov box

 Count Mailbox in organizations (Get –mailbox).count  Getting all properties for a specific user Get-Mailbox | where {$_.Display Name -eq “DR kesh"} | format-list  List of all mailboxes in organization Get-Mailbox -ResultSize unlimited

 Command for creating Users $UserName = $_.UserName $newUser = $container.Create("User", "cn=" + $UserNa me) $newUser.Put("sAMAccountName", $UserName) $newUser.SetInfo() $newUser.psbase.InvokeSet('AccountDisabled', $false) $newUser.SetInfo()  Making changes to users Apply policies Assign to groups Enable or disable features Changing attributes Moving mailboxes....

 Prerequisites  Supported OS Microsoft Windows Server 2003 R2, or Microsoft Windows Server 2003 with SP1 or SP2 Windows XP with Service Pack 2 Windows Vista Windows 2008  The Microsoft.NET Framework 2.0 ( )  Powershell  Exchange 2007

 It is a hierarchical namespace, in which the layers build on one another like a Lightweight Directory Access Protocol (LDAP) directory used in Active Directory, or the file system structure on a hard disk drive.  WMI can be used to: report on drive configuration, report on available memory both physical and virtual, back up the event log, modify registry, schedule tasks, share folders, switch from a static to a dynamic IP address.  The WMI model has three sections namely: 1.Resources 2.Infrastructure 3.Consumers

 To obtain a listing of WMI classes, use the Get-WmiObject cmdlet and specify the list argument as shown below: $strComputer = "." $wmiNS = "\root\cimv2" $strUsr ="" #Blank for current security. Domain\Username $strPWD = "" #Blank for current security. $strLocl = "MS_409" #US English. Can leave blank for current language $strAuth = "" #if specify domain in strUsr this must be blank $iFlag = "0" #only two values allowed: 0 and 128. $objLocator = New-Object -comobject "WbemScripting.SWbemLocator" $objWMIService = $objLocator.ConnectServer($strComputer, ` $wmiNS, $strUsr, $strPWD, $strLocl, $strAuth, $iFLag) $colItems = $objWMIService.subClassesOf() Write-Host "There are: " $colItems.count " classes in $wmiNS" foreach ($objItem In $colItems) { $objItem.path_.class }

 Wilson, E. (2007). Microsoft Windows PowerShell step by step. Washington: Microsoft Press.  Tomsho, G. (2010). MCTS guide to Microsoft Windows Server 2008 Active Directory configuration: Exam Boston, MA: Course Technology/Cengage Learning.  Schwichtenberg, H. (2008). Essential PowerShell. The Addison-Wesley Microsoft technology series. Upper Saddle River, NJ: Addison-Wesley.