Бесплатная книга "Master-PowerShell"
Chapter 1. The PowerShell ConsoleWelcome to PowerShell! This chapter will introduce you to the PowerShell console and show you how to configure it, including font colors and sizes, editing and display options.
Chapter 2. Interactive PowerShell
PowerShell has two faces: interactivity and script automation. In this chapter, you will first learn how to work with PowerShell interactively. Then, we will take a look at PowerShell scripts.
Chapter 3. Variables
It is time to combine commands whenever a single PowerShell command
can't solve your problem. One way of doing this is by using variables.
PowerShell can store results of one command in a variable and then pass
the variable to another command.
In addition, variables are rich 'objects' and can do much more than
simply store data. In this chapter, we'll explain what variables are
and how you can use them to solve complex problems.
Chapter 4. Arrays and Hashtables
No matter how many results a command returns, you can always store
the results in a variable because of a clever trick. PowerShell
automatically wraps results into an array when there is more than one
result. In this chapter, you'll learn how arrays work.
You'll also discover a special type of array, a hash table. While
normal arrays use a numeric index to access their elements, hash tables
use key-value-pairs.
Chapter 5. The PowerShell Pipeline
The PowerShell pipeline chains together a number of commands similar to a production assembly. So, one command hands over its result to the next, and at the end, you receive the result.
Chapter 6. Using Objects
PowerShell always works with objects. Whenever you output objects into the PowerShell console, PowerShell automatically converts the rich objects into readable text. In this chapter, you will learn what objects are and how to get your hands on PowerShell objects before they get converted to simple text.
Chapter 7. Conditions
You'll
need a condition first to compose intelligent PowerShell code capable
of making decisions. That's why you'll learn in the first part of this
Chapter how to formulate questions as conditions.
In the second part, you'll employ conditions to execute PowerShell instructions only if a particular condition is actually met.
Chapter 8. Loops
Loops are a good example that iterations do not have to be boring. They repeat particular PowerShell statements with the pipeline being one of the areas where you can benefit from loops. Most PowerShell commands wrap their results in arrays, and you'll need a loop when you want to examine single elements in an array more closely.
Chapter 9. Functions
PowerShell has the purpose of solving problems, and the smallest
tool it comes equipped with for this is commands. By now you should be
able to appreciate the great diversity of the PowerShell command
repertoire: in the first two chapters, you already learned how to use
the built-in PowerShell commands called cmdlets, as well as innumerable
external commands, such as ping or ipconfig. In Chapter 6,
the objects of the .NET framework, API calls, and COM component
statements were added, providing you with a powerful arsenal of
commands.
In Chapters 3-5,
command chains forged out of these countless single commands combined
statements either by using variables or the PowerShell pipeline.
The next highest level of automation is functions, which are
self-defined commands that internally use all of the PowerShell
mechanisms you already know, including the loops and conditions covered
in the last two chapters. You can also use functions to get the better
of the more complex problems that consist of many separate instructions
and sequences.
Chapter 10. Scripts
PowerShell scripts function like batch files in the traditional
console: scripts are text files that can include any PowerShell code.
If you run a PowerShell script, PowerShell will read the instructions
in it, and then execute them. As a result, scripts are ideal for
complex automation tasks. In this chapter, you'll learn how to create
and execute scripts.
PowerShell makes certain requirements mandatory for their execution
because scripts can contain potentially dangerous statements. Depending
on the security setting and storage location, scripts must have a
digital signature or be specified with their absolute or relative path
names. These security aspects will also be covered in this chapter.
Chapter 11. Finding and Avoiding Errors
The more complex your commands, pipelines, functions, or scripts
become, the more often that errors can creep in. PowerShell has its own
remedies for finding and correcting errors at various levels of
complexity.
In simple cases, use "what-if" scenarios to check whether a command
or a pipeline is really doing what you expect it to do. With the help
of such scenarios, you can simulate the result of commands without
actually executing the commands. You can permit commands to do their
work only after you're convinced that the commands will function
flawlessly.
If you've written your own functions or scripts, PowerShell can also
step through the code and halt its execution at locations called
breakpoints, which allow you to examine functions or scripts more
closely at these locations. You can verify whether variables actually
do contain an expected result. Moreover, PowerShell offers you the
option of integrating debugging messages into functions or scripts.
This enables your code to output progress reports to you at key
locations when your code is in the development stage.
Chapter 12. Command Discovery and Scriptblocks
In previous chapters you learned step by step how to use various
PowerShell command types and mechanisms. After 11 chapters, we have
reached the end of the list. You'll now put together everything you've
seen. All of it can actually be reduced to just two PowerShell basic
principles: command discovery and scriptblocks.
The purpose of this chapter is to tie up the many loose ends of
previous chapters and to weave them into a larger whole: the basics are
complete and the remaining chapters will put the knowledge gained to
the test of daily tasks.
Chapter 13. Text and Regular Expressions
PowerShell distinguishes sharply between text in single quotation
marks and text in double quotation marks. PowerShell won't modify text
wrapped in single quotation marks but it does inspect text in single
quotation marks and may modify it by inserting variable contents
automatically. Enclosing text in double quotation marks is the foremost
and easiest way to couple results and descriptions.
The formatting operator -f, one of many specialized string operators, offers more options. For example, you can use -f
to output text column-by-column and to set it flush. Other string
commands are also important. They can replace selected text, change
case, and much more.
Pattern recognition adds a layer of complexity because it uses
wildcard characters to match patterns. In simple cases, you can use the
same wildcards that you use in the file system. Substantially more
powerful, but also more complex, are regular expressions.
Chapter 14. XML
Raw information used to be stored in comma-separated lists or .ini files, but for some years the XML standard has prevailed. XML is an acronym for Extensible Markup Language and is a descriptive language for any structured information. In the past, handling XML was difficult, but PowerShell now has excellent XML support. With its help, you can comfortably wrap data in XML as well as read existing XML files.
Chapter 15. The File System
The file system has special importance within the PowerShell console. One obvious reason is that administrators perform many tasks that involve the file system. Another is that the file system is the prototype of a hierarchically structured information system. In coming chapters, you'll see that PowerShell controls other hierarchical information systems on this basis. You can easily apply what you have learned about drives, directories, and files in PowerShell to other areas, including the registry or Microsoft Exchange.
Chapter 16. The Registry
You can navigate the Windows registry just as you would the file system because PowerShell treats the file system concept discussed in Chapter 15 as a prototype for all hierarchical information systems.
Chapter 17. Processes, Services, Event Logs
In your daily work as an administrator, you often have to deal with
programs (processes), services, and innumerable entries in event logs
so this is a good opportunity to put into practice the basic knowledge
you gained from the first 12 chapters. The examples and topics covered
in this chapter are meant to give you an idea of the full range of
options.
In the course of your reading, you will no doubt rack your brains
occasionally and find yourself flipping back pages to the introductory
chapters. What's really astonishing are the many and diverse options
you have in using the PowerShell pipeline (as discussed in Chapter 5)
and associated formatting cmdlets to wring out every last bit of data
from pipeline objects. What was just dry theory in Chapter 5 will now
become very interesting in the following.
Chapter 18. WMI: Windows Management Instrumentation
It might have escaped your attention, but the Windows Management Instrumentation (WMI) service introduced with Windows 2000 has been part of every Windows version since then. The WMI service is important because it can retrieve information about nearly every aspect of your system and can even make some modifications. However, it would be beyond the scope of this book to go into WMI in greater depth because that alone could fill another volume. For this reason, we will focus on how the WMI service basically works and how PowerShell handles it.
Chapter 19. User Management
For many administrators, managing users is an important part of their work. PowerShell v1 does not contain any cmdlets to manage users. However, you can add them from third-party vendors. But if you do not want any dependencies on third-party tools and snap-ins, you will learn in this chapter how to use native .NET framework methods for user management.
Chapter 20. Your Own Cmdlets and Extensions
Since PowerShell is layered on the .NET framework, you already know from Chapter 6 how you can use .NET code in PowerShell to make up for missing functions. In this chapter, we'll take up this idea once again. You'll learn about the options PowerShell has for creating command extensions on the basis of the .NET framework. You should be able to even create your own cmdlets at the end of this chapter.
Скачать можно в приложении к посту.
Компании из статьи
Microsoft Украина | Украинское подразделение компании Microsoft. |