Presentation is loading. Please wait.

Presentation is loading. Please wait.

Good PowerShell EXPAND YOUR POWERSHELL SKILLZ BY KIERAN JACOBSEN.

Similar presentations


Presentation on theme: "Good PowerShell EXPAND YOUR POWERSHELL SKILLZ BY KIERAN JACOBSEN."— Presentation transcript:

1 Good PowerShell EXPAND YOUR POWERSHELL SKILLZ BY KIERAN JACOBSEN

2 Q. What makes a good piece of PowerShell code? Answer: The style of our code, including:  Function architecture  Naming Conventions  Comments  Use of Pipeline  Error handling

3 Style Guides/conventions  Style guide or coding/programming conventions are a set of rules used when writing the source code for a computer program [WikiPedia]  Date back to the 1970s  Claims to increase readability of and understand-ability of source code, and this reduce the chances of programming errors.  Claims to reduce software maintenance costs  Software developers all work with guides/conventions  We have server naming conventions, account naming conventions, why not scripting conventions?  One of the hardest things for any group to develop, agree upon and to stick to

4 Script? Function? CMDLet? Module?  Function:Named sections of code  CMDLet:Advanced reusable functions  Script: Complex problems solved with functions and CMDLets  Module:Collections of functions and CMDLets  Libraries  Configuration  Application  Compiled Code Development and Distribution

5 Functions and CMDLets First  “Think functions not scripts”  “Make CMDLets not scripts”  Design functions and CMDLets first, then build very simple scripts  Functions should do just ONE thing

6 Naming Conventions  Functions and Cmdlets - Microsoft verbs Vs Defining your down  Singular Nouns  Modules  Scripts  Variables  Parameters  Case

7 Comment Based Help  Provides detailed help information on our own CMDLets  Descriptions  Examples  Additional Information Links/References  get-help about_comment_based_help

8 Comments  When and where is appropriate  Variable declarations  Complex IF/For/While/Until conditions  Pipelining  Input validation  Error handling  Anything complex  Don’t over do comments for simple/obvious lines of code.

9 Handling Errors  When to catch errors  When to throw errors  When to write-error  Error Messages  Exit codes

10 Bring on the demos!

11 Demo: Get a web page

12 Demo: Reusable Get- WebPage

13 Demo: Getting a file

14 Demo: Reusable get-webfile

15 Demo: Posting Data to a page in a reusable way

16 Demo: A tour of a “Web Functions” module

17 PushOver.net  Provides push notification support for Android and iOS  Available from App/Play Store  Applications wishing to send notifications, simply post to API web interface or via Email  Ability to provide high, normal and low priority notifications  Ability to include a URL  Alternatives are out there

18 Demo: PushOver Notifications

19 Demo: SysInternals Script

20 Demo: Chocolatey

21 Questions?  Website: http://aperturescience.suhttp://aperturescience.su  Twitter: @kjacobsen  EmailKieran@thekgb.suKieran@thekgb.su  GitHub Projects  WebFunctions: http://bit.ly/WebFunctionshttp://bit.ly/WebFunctions  PushOverPS:http://bit.ly/PSPushOverhttp://bit.ly/PSPushOver


Download ppt "Good PowerShell EXPAND YOUR POWERSHELL SKILLZ BY KIERAN JACOBSEN."

Similar presentations


Ads by Google