Tag Archives: PowerShell

The Monad Manifesto Annotation Project


Richard’s log, stardate 2457164.5

Today’s destination is the Monad Manifesto Annotation Project.

The idea behind this project is to keep the manifesto intact somewhere on the internet, and to provide the possibility to the community to annotate on the several topics in the manifesto. The idea for this came from Pluralsight author Tim Warner, with the initial annotations being made by Don Jones. Jeffrey Snover gave his permission for this project, but with a big warning: the content only can be shared on the original source page on penflip, and cannot be hosted anywhere else.

I am already in the progress to put all the chapters from the Manifesto in penflip, and I’m putting the right formatting on it. The idea is to finish this the coming days. After that the actual annotation can be started.

For more information check the project page on penflip:

https://www.penflip.com/powershellorg/monad-manifesto-annotated

Till the next time, live long and prosper.

boldlygo_preview

PowerShell… An exciting frontier…


PowerShell… An exciting frontier…

These are the voyages of a PowerShell adventurer.

Its continuing mission:

To explore strange new cmdlets…

To seek out new modules; new parameters…

To boldly go where no one has gone before!”

Richard’s log, stardate 2457163.

Our destination for today is my very first post on PowerShell.org. As you can see, from the opening lines, I approach my journey in PowerShell as a exploration into the unknown, just like the crew of Star Trek, Next Generation did. Till now my journey has been a pleasant one, because you know, exploring PowerShell is a lot of fun! And your exploration should also be a lot of fun, for that reason I want to share with you my discoveries and experiences. These will help you, I hope, to boldly go where no one has gone before!

About Me, And A Statement

My name is Richard Diphoorn, and I’m a IT Professional based in the Netherlands. I work now for around 14 years in IT. My daily work consists mostly of automating, scripting, provisioning new servers, working with System Center, Azure Pack, SMA. Actually everything which can be automated, is that what I am working on. I believe in automation, it’s in my opinion the mindset every IT professional should have.

When I started working in IT, it was not called IT in the Netherlands, it was called ‘automatisering’; in english it’s called ‘automation’. And there you have it, the job I’m doing was always ment to do automation. But still I see a lot of ‘click-next-admins’ around in the field. This term has been thrown up by Jeffrey Snover, and what it means is that there are administrators who click their way trough provisioning and configuration situations, instead of trying to automate this.

It’s my personal quest, to get the intention into the click-next-admins, to learn and use PowerShell. I strive for a transitional change in the admin’s life, by giving them new perspectives on how to ‘do’ things.

For sure I am not the person who possesses all the knowledge, but at least I want to share my passion and the knowledge I build up till now, with the people who are open for it. And with this I invite you, to do together this exploration into ‘strange new cmdlets’. 😉

A Small Introduction

So, with this personal statement I kick off this first post. Our first mission is the exploration of what this thing ‘PowerShell’ actually is, which kind of advantages it brings to you, and why it’s here to stay.

I assume ‘level 200’ as the basic level of my audience, therefore I will not go into the very basics of how you operate a Windows Operating System. I try to avoid unclear technobabble as much as possible, but I don’t want to oversimplify things. I try to make it as simple as possible, but not simpler (where did we heard that before…hmmm…).

Monad, A Brief History Of Time.

If you are like me, you probably bought a little book called ‘Monad’, written by Andy Oakly, quite some years back (if I remember correctly, I bought this book somewhere late december, 2005. I saw this little book on a bookshelf in Waterstone’s, in London. I bought the book because I heard of MSH, and I wanted to learn more about it.

I was hooked. 100%

I still encourage people to read this book, because a lot of information in that book is still relevant, in term of concepts. Topics like the Pipeline, Verb-Noun syntax, cmdlets, repeatability and consistency did not changed from the first version of Monad that the PowerShell team released. This is also the reason why you still see ‘C:\windows\system32\WindowsPowerShell\v1.0’ on all the Windows OS’es till now. This is because the underlying architecture did not changed. As we will continue to explore, you will see what I mean.

This book will explain to you the very first basic concepts, but for really getting into the dirt, I encourage you to read the Monad Manifesto, written by Monad’s architect, Jeffrey Snover. This manifesto explains the long term vision behind Monad, and describes many elements which are consisting today in PowerShell. This is really a comprehensive document on how Jeffrey first saw the big problems that existed in the way administrators did their work.

He explains the new approaches to different kind of models, and how existing problems be solved with these new approaches. This document will also contributes in your way of thinking the ‘DevOps’ way, because many concepts in here contribute directly to the way you should ‘do’ DevOps. For example, Jeffrey talks about ‘prayer-based parsing’, which is in direct conflict with predictability in certain DevOps scenarios.

Because you need to be able to predict what is happening when you go from Testing to Production. In all cases Deus Ex Machine situations needs to be prevented. You always need to know what is happening and why. In my opinion, DevOps is nothing more than just being really good in automating stuff, PowerShell gives you this possibility.

So, what is PowerShell, and how do I benefit from it?

PowerShell basically is a Shell ( a black box, in which you can type 😛 ), in which you can interact with every aspect of the Operating System in either a interactive or programmable manner.

You type commands in a specific format in this window, and magic happens. This is the simple explanation. Now the rest…

The concept of a shell in which you can manipulate the whole windows system in a interactive way or scripted way, with common syntaxes and semantics, was for me a really powerful and inspiring idea. This new shell helped me working more efficient, effective and with more fun. It enabled me to explore the whole OS, to boldly go where I never have gone before!

This concept is not new for the mainframe operators and the *nix admins; it’s something they are used to already for a long time. If you doubt if working on a command line is a bad thing, go and talk with the *nix admin in your company. They happily will show you how fast they can work, I’m sure!

So for you, as a Windows Administrator, what kind of benefits do you get from learning PowerShell? There are obvious benefits like getting stuff done more quickly, and doing it always in the same way so that you never make that one mistake again. A more un-obvious benefit is that you get to know the OS & Apps very well, because sometimes you really dig into the system, really deep. This level of knowledge can and will benefit you in terms of understanding how a system works, and how to resolve problems. This hugely contributes to your personal success in your career, because you are ‘the topnotch’ engineer. You will be the Geordi La Forge of your company, so to say. :)

PowerShell is dead, long live PowerShell!

PowerShell is here to stay, rest assured. Almost all the products made by Microsoft can be manipulated with PowerShell in one way or another. This by providing a direct API to the product itself, or either by providing a REST interface. A lot of products from third-party suppliers also support PowerShell, like VMware, NetApp and Citrix. PowerShell is really getting (or already is) a commodity; actually I advice customers to only buy products which can be manipulated with PowerShell.

Be honest here, if a product cannot be automated, how does this product contributes to the WHOLE business? The business thrives by efficient processes, and if all IT processes are efficient, the business profits hugely from that.

In every company where I have been till now in my IT career, make use of Microsoft software. I believe in the best tools for the job. PowerShell is such a tool. It’s ducttape, wd400 and a swiss knive in one, whatever you want to do, PowerShell can do it (and better).

PowerShell is here to stay my fellow IT pro’s, embrace it fully and enjoy the voyage!

I want to thank the crew at PowerShell.org to give me the opportunity to blog on this site!

Till next time, when we meet again.

Research Triangle Powershell Users Group – May 20, 2015 – 6PM


This month we will again be hosted by the good people at WorkSmart in Durham, as usual pizza arrives at 6pm and meeting starts at 6:30pm. And we’ll have one of our own speaking, Tom Norman. Details below and hope to see you there!

Speaker Name: Tom Norman

Session Title: Deploying Database Objects with Powershell

Session Abstract: As we code database objects, we must deploy the database objects to different environments, development, QA, UAT, Production and Disaster Recovery. As we deploy, let’s confirm our deployment environment during deployment. Secure the database. Script each object so we can run it multiple times. Get the code from TFS source control and log the code retrieved. We can branch the code for hot fixes and deploy the code. Let’s review the deployment log for deployment errors. Review the build manifest for all code deployed. One script deployed to all environments for a consistent release.

Speaker Bio: Tom Norman, Database Architect / DBA, KPA. In 1998, Tom changed his career focus to begin working with Sql Server. He has worked in all aspects of Sql Server including Administration, Database Development, BI and Reporting Services. He has worked within the Finance and Car Dealership industry. His experience has included International deployments. Tom is the co-leader of the PASS Virtualization chapter and the past President of the Denver Sql Server User Group.

IndyPoSh Meeting #18 – Windows PowerShell Basics


Description:

Windows PowerShell is becoming one of the more in-demand skills now that it is built into everything Windows. PowerShell is going to continue growing and it is your time to start learning it! Join us for an evening of Windows PowerShell Basics, we will wrap up for many useful resources that are available to help you continue learning!

Speakers:

Matt Griffin (MCT, MCSA, MCITP, MCTS, MCP) is a Technical Team Lead at Apparatus in Indianapolis, IN. Matt participates in multiple Technology based User Groups including the Indianapolis PowerShell User Group where he is the President. Over the last 6 years while Matt has worked in IT he has touched many technologies ranging from Windows Server, SharePoint, Office 365 and his latest dive into Exchange Hybrid deployments. Matt is also an Author for Pearson Education where he has published a Windows PowerShell Fundamentals LiveLesson. Matt’s primary focus in his IT career is automating every task possible to make management of hundreds if not thousands of systems easier.

Agenda:

6:00 – 6:30 Food | Networking
6:30 – 6:45 Introduction | Announcements | Speaker Introduction
6:45 – 7:45 Presentation
7:45 – 8:00 Giveaways

The current and future state of the Windows Management Framework


At the 2nd of October, Lee Holmes gave a presentation about the current and future state of the Windows Management Framework (WMF) during the Dutch PowerShell User Group (DuPSUG) at the Microsoft headquarters in The Netherlands.

The slide decks and recorded videos will be made available soon, but this is what was discussed:

The release cycle of the Windows Management Framework (WMF)

Faster incremental releases of preview versions are being released. This rapid development means that companies that need specific new functionalities to tackle current problems they’re having, don’t have to wait as long as they had to in the past.

Everyone should keep in mind that documentation for preview versions can be more limited, but should still read the release notes carefully. They contain descriptions of some of the improvements that are discussed in this blog post, but also cover other things that aren’t discussed here. Also be sure to take a look at What’s New in Windows PowerShell at TechNet.

A request from the audience was to include more helpful real-life examples until documentation is fully up-to-date.

 

Desired State Configuration (DSC) partial/split configurations

With DSC partial/split configuration it is possible to combine multiple separate DSC configurations to a single desired state. This could be useful when a company has different people or departments that are responsible for a specific part of the configuration (by example Windows, database, applications).

 

OneGet

OneGet is a Package Manager Manager (it manages package managers). It enables companies to find, get, install and uninstall packages from both internal and public sources. Public repositories can contain harmful files and should be treated accordingly.

Besides the OneGet module included in the Windows Management Framework Preview, updated versions are continuously being uploaded to https://github.com/OneGet/oneget by Microsoft. These can include bug fixes and new functionality like support for more provider types.

While in the past it seemed that Nuget was required, during the PowerShell Summit it was demonstrated that a file share can be used as well.

From the audience a question was raised whether BITS (Background Intelligent Transfer Service) could be used. This is currently not the case and there were also no plans yet to implement it.

 

PowerShellGet

PowerShellGet is a module manager which should make it easier to find the many great modules that are already available, but are not very discoverable because they’re fragmented on numerous websites across the Internet.

Microsoft is currently hosting a gallery of modules. The modules that are available in there are currently being controlled by Microsoft, but this might change in the future.

It is possible to create an internal module source and the save location for modules can be specified as well.

 

PSReadLine

PSReadLine is a bash inspired readline implementation for PowerShell to improve the command line editing experience in the PowerShell.exe console. It includes syntax coloring and CTRL+C and CTRL+V support, for more information about other improvements, view their website.

PSReadLine is one of the modules that can be installed using PowerShellGet:
Find-Module PsReadLine | Install-Module

 

Security

  • Always be careful when running scripts that include Invoke-Expression or its alias iex because it might run harmful code.
    • For a non harmful example, take a look at this blog post by Lee Holmes.
  • Many people in the security community are adopting PowerShell.
  • PowerShell is done in memory and is therefore volatile. To improve security the following enhancements were introduced:
    • Transcript improvements
      • Transcript support was added to the engine so it can used everywhere, also in the Integrated Scripting Environment (ISE).
      • A transcript file name automatically includes the computer name.
      • Transcript logging can be enforced to be redirected to another system.
      • Transcription can be enforced by default.
  • Group Policy
    • An ADMX file is currently not available to configure it on all platforms, but it can be found in the technical preview versions of Windows 10 and Windows Server under: Administrative Templates -> Windows Components -> Windows PowerShell
  • More advanced Scriptblock logging
    • Enable ScriptBlockLogging through GPO (in later Windows versions) or by registry by setting EnableScriptBlockLogging to 1 (REG_DWORD) in: HKLM:\SOFTWARE\Wow6432Node\Policies\Microsoft\Windows\PowerShell\ScriptBlockLogging
    • The additional logging will show you what code was run and can be found in event viewer under Applications and Services Logs\Microsoft\Windows\PowerShell\Operational.
    • Scriptblocks can be split across multiple event log entries due to size limitations.
    • Using Get-WinEvent -FilterHashTable it is possible to get related events, extract the information and combine it.
    • Since attackers would want to remove these registry settings and clear event logs, consider using Windows Event Forwarding/SCOM ACS to store this information on another server. Also consider enabling cmdlet logging.
  • Just Enough Admin (JEA)
    • JEA enables organizations to provide operators with only the amount of access required to perform their tasks.

 

New and improved functionality and cmdlets

 

Manage .zip files using Expand-Archive and Compress-Archive

.zip files can be managed using Compress-Archive and Expand-Archive. Other archive types like .rar are not currently supported, but this might be added in future versions.

 

New-Item

It is now not necessary anymore to specify the item type. To create a new item, simply run
New-Item foo.txt

 

Get-ItemPropertyValue

This makes it easier to get the value of a file or registry:

  • Get-ItemPropertyValue $Env:windir\system32\calc.exe -name versioninfo
  • Get-ItemPropertyValue-PathHKLM:\SOFTWARE\Microsoft\PowerShell\1\ShellIds\ScriptedDiagnostics -Name ExecutionPolicy

 

Symbolic links support for New-Item, Remove-Item and Get-ChildItem

Symbolic link files and directories can now be created using:

  • New-Item -ItemType SymbolicLink -Path C:\Temp\MySymLinkFile.txt -Value $pshome\profile.ps1
  • New-Item -ItemType SymbolicLink -Path C:\Temp\MySymLinkDir -Value $pshome

Junctions cannot currently be created, but this might also be added in a later version.

 

Debugging using Enter-PSHostProcess and Exit-PSHostProcess

Let you debug Windows PowerShell scripts in processes separate from the current process that is running in the Windows PowerShell console (by example long running or looping code). Run Enter-PSHostProcess to enter, or attach to, a specific process ID, and then run Get-Runspace to return the active runspaces within the process. Run Exit-PSHostProcess to detach from the process when you are finished debugging the script within the process.

 

Use Psedit to edit files in a remote session directly in ISE

Simply open a new PSSession to a remote computer and type PSEdit <path to a file>.

 

Classes and other user-defined types

    • The goal is to enable a wider range of use cases, simplify development of Windows PowerShell artifacts (such as DSC resources), and accelerate coverage of management surfaces.
    • Classes are useful for structured data. Think by example about custom objects that you need to change afterwards.
    • Name of the class and the constructor must be the same.
    • Code is case insensitive.
    • In classes, variables are lexically scoped (matching braces) instead of dynamically scoped.
    • Every return must be explicit.
    • Sample code:

Class MyClass
{
  MyClass($int1, $int2)
   {
        “In the constructor”
   }
   [int]$Property1
   [DateTime]$Property2
   [int]MyHelper($param1)
   {
       return 42
   } 
}

 

 

 

 

 

 

 

Meeting #17 – Handy PowerShell Profile Tips and Tricks


Description:

Your PowerShell profile is a convenient way to customize your environment and make your life easier. We’ll talk about the different profiles, ways to keep things in sync, along with custom aliases and functions to enable PowerShell laziness.

Speakers:

Damien Solodow is the Systems Engineer for Harrison College; a role that he has held for 6 years. He’s been working in IT since 1997, and has been managing Windows Servers since NT 4.0. Started working with PowerShell in Exchange 2010, and has since expanded to using it for Windows Server, Active Directory, VMware, Citrix XenApp and other items.

Agenda:

6:00 – 6:30 Food | Networking
6:30 – 6:45 Introduction | Announcements | Speaker Introduction
6:45 – 7:45 Presentation
7:45 – 8:00 Giveaways

Meeting #15 – Learning Windows PowerShell, Group Discussion


Description:

Let’s discuss the up’s and down’s of learning Windows PowerShell. Run into a hurdle? Great! Let’s share that information with everyone else. Find a really cool resource while learning? Fantastic, you should share that too! Throughout this group discuss we will have information to share; but at the same time we will be eliciting input from the audience. This is not going to be your normal presentation we are going to avoid PowerPoint as much as possible and make this a nice group activity.

Speakers:

Matt Griffin (MCT, MCSA, MCITP, MCTS, MCP) is a Technical Team Lead at Apparatus in Indianapolis, IN. Matt participates in multiple Technology based User Groups including the Indianapolis PowerShell User Group where he is the President. Over the last 5 years while Matt has worked in IT he has worked with many technologies ranging from Windows Server, SharePoint, Office 365 and his latest dive into Exchange Hybrid deployments. Matt’s primary focus in his IT career is automating every task possible to make management of hundreds if not thousands of systems easier.

Sam Spoerle is a Technology Analyst at Apparatus in Indianapolis, IN.

Garrett Ford is an Intern at Apparatus in Indianapolis, IN. Garrett is wrapping up his final semester at IUPUI this December and has just recently learned Windows PowerShell.

Nicholas Richardson is currently employed as a Windows System Administrator at IUPUI. As a young and upcoming IT Professional, he is focused on making the computing environment at IUPUI easy and efficient to use and manage. Currently, Nicholas has strong interests in PowerShell scripting, IT management, automating daily tasks, and developing tools that are used by other employees. Nicholas is a student at IUPUI working towards a Bachelor’s of Science in Computer Science. Nicholas is interested in learning all available facets of both the management and development spheres.

Agenda:

6:00 – 6:30 Food | Networking
6:30 – 6:45 Introduction | Announcements | Speaker Introduction
6:45 – 7:45 Presentation
7:45 – 8:00 Giveaways

Meeting #12 – Taking on the World! One Exchange Server at a time… with PowerShell!


Description:

We have PowerShell on our side. Exchange Server was the starting point for PowerShell to be part of the larger vision of the tools.
In this session we will discuss how to automate routine tasks and target common situations encountered by Exchange Admins, or maybe even the accidental Exchange Admin.

Just like many good chefs and the recipes they have, we will venture into making out tools and skills better. Exploring the common and in some cases, hidden gems of PowerShell automation in a great environment like Exchange Server.

From creating recipients to managing services. From working with the services to monitoring and troubleshooting. The great adventure begins!

Speaker:

Enrique Lima (MCITP, MCPD, MCSE+I, MCP+SB, MCT, MCDBA, MCSD, MCAD, CCNA, CCNP, OCP, LCP, LCI, RHCE) has over 18 years of experience in training, application development, database development and management, IT solutions architecture, and project management. Enrique has participated as a speaker and technical learning guide at conferences such as SharePoint Conference 2012, TechEd USA (2004-2013). He was also invited to TechReady 7, 9, 10, 11, 12, 13, 16 and 17, an internal Microsoft conference, as a Subject Matter Expert (SME) in the fields of Windows Azure, Office 365, SQL Server, Platform Virtualization, Application Lifecycle Management/Team Foundation Server, SharePoint Technologies and Service Oriented Architecture.

Enrique has been involved in architecting and developing solutions that leverage the integration of SharePoint Technologies, Windows Azure, Office 365, BizTalk, Commerce Server, and Content Management Server with other Microsoft and non-Microsoft platforms. He has been active in providing guidance in developing and designing solutions that expand and extend those technologies. He actively participated with Microsoft to create material and develop a path to tell the Azure story to IT Professionals and promote Windows Azure beyond just a development platform, also was co-author for Microsoft Official Courseware on SharePoint 2010, Implementation and Configuration (MOC 10174A), was lead author for Microsoft Official Courseware on SQL Server 2005 High Availability Solutions (MOC 2788A), and lead author for Microsoft Official Courseware on Designing Commerce Server 2007 Solutions (50015A). Currently developing and creating new courseware for SharePoint 2013.

Enrique has written, developed, and presented numerous Microsoft and vendor-specific custom classes. As a member of Microsoft’s Global Learning Services, he delivered training and consulting to clients in Latin America, Europe, and Asia.

Enrique’s academic background includes a Bachelor’s of Science, an Electronics Engineering degree, and a Masters of Business Administration from Universidad Francisco Marroquin, Guatemala.  He can be found on twitter on @enriquelima or his blog: http://geekswithblogs.net/enriquelima.

Agenda:

6:00 – 6:30 Food | Networking
6:30 – 6:45 Introduction | Announcements | Speaker Introduction
6:45 – 7:45 Presentation
7:45 – 8:00 Giveaways

Testing for the Presence of a Registry Key and Value


There are a number of different ways to test for the presence of a registry key and value in PowerShell. Here’s how I like to go about it. We’ll use an example key HKLM:\SOFTWARE\TestSoftware with a single value Version:

Click here to be redirected to the original post of this article on the author’s blog site where you can read the remainder of the article.

IndyPoSh Meeting #10 – Desired State Configuration: Overview and Introduction


Description:

A new breed of configuration management tools has been created to manage the platforms, applications, and infrastructure of the cloud, and keep cloud-related applications and infrastructure running with high availability. The need for these new tools and infrastructure comes from the increase in scale, rapid rate of change, and complexity of the cloud. But existing tools have limited support for Windows. Enter, Windows PowerShell Desired State Configuration (DSC). This rich toolset provides a configuration platform built into Windows that is based on open standards. DSC is flexible enough to function reliably and consistently in each stage of the deployment lifecycle (development, test, pre-production, production), as well as during scale-out, which is required in the cloud world. Among the many great features of DSC is the ability to extend the functionality beyond what is included Out of Box.
This sessions will help with grasping an understanding the why, what and how of DSC. From a simple configuration deployment to more involved deployments and that perhaps would also assist in laying the foundation for cloud-driven infrastructure, public or private.

Speaker:

Enrique Lima (MCITP, MCPD, MCSE+I, MCP+SB, MCT, MCDBA, MCSD, MCAD, CCNA, CCNP, OCP, LCP, LCI, RHCE) has over 18 years of experience in training, application development, database development and management, IT solutions architecture, and project management. Enrique has participated as a speaker and technical learning guide at conferences such as SharePoint Conference 2012, TechEd USA (2004-2013). He was also invited to TechReady 7, 9, 10, 11, 12, 13, 16 and 17, an internal Microsoft conference, as a Subject Matter Expert (SME) in the fields of Windows Azure, Office 365, SQL Server, Platform Virtualization, Application Lifecycle Management/Team Foundation Server, SharePoint Technologies and Service Oriented Architecture.

Enrique has been involved in architecting and developing solutions that leverage the integration of SharePoint Technologies, Windows Azure, Office 365, BizTalk, Commerce Server, and Content Management Server with other Microsoft and non-Microsoft platforms. He has been active in providing guidance in developing and designing solutions that expand and extend those technologies. He actively participated with Microsoft to create material and develop a path to tell the Azure story to IT Professionals and promote Windows Azure beyond just a development platform, also was co-author for Microsoft Official Courseware on SharePoint 2010, Implementation and Configuration (MOC 10174A), was lead author for Microsoft Official Courseware on SQL Server 2005 High Availability Solutions (MOC 2788A), and lead author for Microsoft Official Courseware on Designing Commerce Server 2007 Solutions (50015A). Currently developing and creating new courseware for SharePoint 2013.

Enrique has written, developed, and presented numerous Microsoft and vendor-specific custom classes. As a member of Microsoft’s Global Learning Services, he delivered training and consulting to clients in Latin America, Europe, and Asia.

Enrique’s academic background includes a Bachelor’s of Science, an Electronics Engineering degree, and a Masters of Business Administration from Universidad Francisco Marroquin, Guatemala.  He can be found on twitter on @enriquelima or his blog: http://geekswithblogs.net/enriquelima.

Agenda:

6:00 – 6:30 Food | Networking
6:30 – 6:45 Introduction | Announcements | Speaker Introduction
6:45 – 7:45 Presentation
7:45 – 8:00 Giveaways

Reporting On Installed Windows Programs Via The Registry


Quite a common request for working with Windows machines is to report the software installed on them. If you don’t have a centralised system for reporting on client software (many places don’t) then you may turn to some form of scripted method to obtain this information.

Most people tend to head to Add / Remove Programs when thinking about what software is installed in Windows. However, not all applications will always populate information in there, depending on how they have been installed. Additionally, to query that information you would typically query the WMI class Win32_Product, however this can lead to performance issues.

Click here to be redirected to the original post of this article on the author’s blog site where you can read the remainder of the article.

Adding and Removing Items from a PowerShell Array


Adding and removing Items from a PowerShell array is a topic which can lead to some confusion, so here are a few tips for you.

Create an array and we will note the type System.Array:

Click here to be redirected to the original post of this article on the author’s blog site where you can read the remainder of the article.

IndyPoSh Meeting #10 – What’s New in PowerShell v4


Description:

For this session the Indianapolis PowerShell User Group and the Indy VMware User Group are joining forces to bring you an introduction to PowerShell basics and move into a show and tell session of PowerCLI.

Speaker:

Matt Griffin is a Technology Specialist at Apparatus in Indianapolis, IN. Matt’s primary focus is managed services for Windows environments with specialization in SharePoint and automation. Matt holds his MCTS, MCITP, MCSA and MCT.

LinkedIn: www.linkedin.com/in/mattgrif
Twitter: @mattgrif
Blog: MattBlogsIT.com

Kyle Ruddy is a Senior Virtualization Administrator with ExactTarget. He has over 10 years of experience in the IT field. Kyle has obtained his VCAP-DCD 5 and VCP in versions 3, 4 and 5, as well as other highly desirable certifications such as GCWN (GIAC Certified Windows Security Administrator), MCITP:SA, MCSE, amongst others. Kyle is also a VMware vExpert for both 2013 & 2012.

LinkedIn: www.linkedin.com/pub/kyle-ruddy/13/134/977
Twitter: @RuddyVCP
Blog: www.thatcouldbeaproblem.com

Brian Wuchner is a Senior Systems Administrator at the Indiana Office of Technology. He has 10 years of industry experience with specialties in infrastructure automation, directory services and data center virtualization. Brian holds the VCP 5 certification and was awarded the vExpert title from VMware in 2011 – 2013.

LinkedIn: www.linkedin.com/in/bwuch
Twitter: @bwuch
Blog: EnterpriseAdmins.org

Agenda:

6:00 – 6:30 Food | Networking
6:30 – 6:45 Introduction | Announcements | Speaker Introduction
6:45 – 7:45 Presentation
7:45 – 8:00 Giveaways

IndyPoSh Meeting #9 – What’s New in PowerShell v4


Description:

The November meeting of the Indianapolis PowerShell User Group will present an introduction to PowerShell 4.0. We will discuss new features in PowerShell 4.0 that ship with Server 2012 R2 and Windows 8.1 including Desired State Configuration (DSC), enhancements to the integrated Scripting Environment (ISE) and PowerShell Web Access and more.
In addition we will discuss installing Windows Management Framework 4.0 on Windows 7 SP1, Server 2008 R2 and later systems to bring the new features of PowerShell 4.0 to these operating systems.

Speaker:

John Gullion is a veteran of 18 years in the IT industry. He began his IT career in the mid 90’s working with UNIX, Linux and Windows while supporting dial up internet users and administering smtp mail and nntp news servers. Joining the staff of Indiana University in 2001, John began working with Active Directory and is an accomplished Windows Server and Desktop administrator with expertise in Group Policy Management and PowerShell.

John is a Microsoft Certified Trainer and holds a number of Microsoft and industry certifications including MCSA Server 2012, MCSA Windows 8, MCITP SQL 2008 and  VMWare Certified Professional.

Agenda:

6:00 – 6:30 Food | Networking
6:30 – 6:45 Introduction | Announcements | Speaker Introduction
6:45 – 7:45 Presentation
7:45 – 8:00 Giveaways