Not mine, asked to publish people who do not have an acca on a habr, and did not dare to entrust the creation to the sandbox.
Many people are unhappy that PowerShell scripts are very difficult to write because of the specific names of cmdlets and the fact that the scripting environment itself is not very convenient. Part of the problem is solved by the presence of a fairly convenient Windows PowerShell ISE, it is possible to execute separate commands in it, as well as write scripts and debug them step by step. ISE also supports working with tabs, it is possible to transform the interface for yourself: adjust the panel layout, change the font, etc. In ISE, it is also very convenient to manipulate the code, easily selecting, deleting, copying various parts of it, using the usual keyboard shortcuts. There is also a powerful scripting tool -
PowerGUI from
Quest Software Inc. but it is more intended for professional use.
')
But how to be lovers of black windows? After all, the supplied PowerShell console application, although it has a bit more features than cmd, but it’s not always possible to enjoy working in it. Console PowerShell can well suggest files paths, cmdlets and their parameters. But agree that it would be nice to have your IntelliSence for PowerShell, isn't it? Here I want to tell about such addition to PS. Most likely, people who often write scripts on PS have long known and used this extension, but at least in Habré, not a word about it, or was I looking badly?
So the name of this add-on is PowerTab (I apologize in advance if you knew about this add-on and used it often and this post presents useless information for you). You can take it from this
site ,
link to the download page . Currently there are versions available for 1 version, as well as version 2.0, which is present in Windows 7 and Windows Server R2 and can be downloaded from the Microsoft website.
What can this my favorite PowerTab? And he can do quite a lot: to suggest paths to files, variable names, methods of objects, cmdlets - and all this is just like in Visual Studio.

This is such a cool thing that it can replace almost all the help. Using PowerTab, I discovered a lot of interesting things and I hope it will help you too.
Installation
Download the archive
from here and unpack it into any folder. Installation must be performed with admin rights by running the Setup.Cmd file.

PowerTab is installed pretty quickly, all questions can be answered with Yes. By default, the settings are saved in the Documents \ WindowsPowerShell folder, and if your existing settings file has already existed, all the information is added to the end of the Microsoft.PowerShell_profile.ps1 file, which in PS is named $ PROFILE.
Examples of using
Immediately after installation, you can get to work. Try typing set- / get- and pressing Tab and see the desired IntelliSence. As I said, PowerTab can prompt file paths, cmdlets and their parameters.
PT helps a lot when working with .net classes, for example, if we want to call MessageBox, PowerTab will save us from typing a long construct like [System.Console] :: WriteLine ("Hello, Habrahabr")
Also PT can be perfectly sanitized. All PowerTab settings are stored in the $ PowerTabConfig object. For example, you can easily load ready-made themes for PT with the $ powertabconfig.Colors.ImportTheme (((import-csv ~ \ Desktop \ PowerTab99b2-fixed \ PowerTab \ ThemeDragon.csv) command))
To see all the substrings, you can immediately type% and press Tab, also the symbol% ​​is used to add commands, for example, not to write Invoke-, you can type in% and press Tab.
In addition to the possibilities of working with .net classes, I will mention the following features. To see all the constructors of a class, you can type something like ["class name .net without quotes"] and put one colon and press Tab. And if you type [“class name .net without quotes”] = and press the mighty Tab, the string is converted to the following New-Object “class name .net without quotes”.
When working with WMI PowerTab, well, it just makes an enormous task easier. Try Get-WmiObject Win32_ + tab, all classes at a glance.
Well, the last useful thing about which I would like to say, in order to force PT to replace aliases with their standard names, you need to execute the command $ powertabconfig.AliasQuickExpand = $ true.
UPD Possible startup problems due to script execution policy. It should be changed from “do not run scripts” to “launch your own and / or signed ones”. Thanks to habrayuser
lostmsuUPD2 Policy is set by the script Set-ExecutionPolicy -ExecutionPolicy remotesigned - thanks to the author of the article