Archive for the ‘General’ Category

Read our job posting: C# Developer One of the best things you can do for your career is to keep it continually challenging. Never be the smartest person at work. Never be the most experienced. Never watch the industry progress while leaving you behind. Never continue doing it the way you’ve always done it. If you’re looking for something new and challenging, consider joining SAPIEN Technologies, Inc., a small, agile software company that is continually improving to stay at the edge of the technology curve. SAPIEN Technologies, Inc. currently has a job opening for a Windows software developer in our… &nbsp More »

Applies to Pester 3.4.0 Like any Windows PowerShell script, a script that contains Pester tests can include parameters. It's easy enough to run the script and pass parameters and values in the usual way. But, when you use Invoke-Pester to run the script, you need to pass the parameters in a hash table. This blog explains how to do it. This post is the third in a series about how to run Pester tests. See also, How to Run Pester Tests and Invoke-Pester: Run Selected Tests. See the posts in this Pester series: How to Run a Pester Test Invoke-Pester:… &nbsp More »

I have been asked a few times now to use Bash with PrimalScript. It doesn’t have all the setup for it out of the box because there are a few different implementations of Bash available for Windows. If you followed the latest news, Microsoft has announced at the BUILD 2016 keynote that Bash will become an integral part of Windows. (https://www.youtube.com/watch?v=kJGqZHQzNRo) Since we do not have the bits from Microsoft yet, I used the Cygwin Bash shell to demonstrate the necessary steps for PrimalScript 2016. You can download and install this version from here: https://cygwin.com/install.html There are a few quirks… &nbsp More »

This post demonstrates how to use 'exclude' and .gitignore files to exclude files from your GitHub repos, including the backup files that PowerShell Studio creates. Both are text files, but a .gitignore file is part of your repo, so it's versioned and shared. The 'exclude' file is private to your clone on disk; it's not shared or versioned. Special thanks to @jeffhicks for suggesting an exclude file. Why ignore files? In addition to the files that are critical to your Git repository, you might have a few extra files in the clone of your repo, like temp files, a TODO… &nbsp More »

The PowerShell team released Windows PowerShell 5.0 on Windows 10 last year and just re-released Windows Management Framework (WMF) 5.0 for earlier versions of Windows. But, we know from years of experience that many people don't upgrade their versions quickly. It takes time to get to know and trust a new version. In a large enterprise, it takes time to do the parallel testing to certify that a new product is secure and compatible with the software that the organization uses. Take the survey: Which version of Windows PowerShell do you use? For those of us who are writing scripts and modules to share, this… &nbsp More »

SAPIEN Technologies, Inc. is pleased to introduce our new online Windows PowerShell Reference tool, which is based on the reference section of iPowerShell Pro. To find it, on the SAPIEN web page, click Support and then click PowerShell Reference. Or, go directly to https://www.sapien.com/powershell. PowerShell Reference contains help for Windows PowerShell and PowerShell modules. This tool allows you to search through Cmdlet Help, About Help and Provider Help with just a click of your mouse. After you've chosen a help category, start typing in the search box. The menu will filters as you type. When you choose an item from… &nbsp More »

Applies to: -- Windows PowerShell 5.0.10586.63 -- PowerShellGet 1.0.0.1 I'm a huge fan of sharing Windows PowerShell modules and making them easy to find (Find-Module), view (Save-Module), and install (Install-Module). So, I truly love the new PowerShellGet module. However, you really need to understand how it works before you use it. Otherwise, you might end up with commands and modules that don't work correctly (or at all) or don't do what you expect. Or, you might download modules with commands that shadow or hide commands that your scripts run. Update-Module is one of the really useful cmdlets in PowerShellGet, but if you don't know… &nbsp More »

In January, I had the honor of presenting to the Mississippi PowerShell User Group (MSPSUG). I've known the organizers, Mike Robbins and Rohn Edwards for years, and truly respect them. The PSUG is online-only, which makes it a challenge for presenters, but they attract a very sophisticated audience, so my talks there are really conversations. This was a perfect venue for my "Avoiding Version Chaos" talk. (More at PowerShell Saturday in Tampa on March 19, 2016.) In one part of the talk, I demonstrated how to use noun prefixes to distinguish among commands with the same names. The demo flopped… &nbsp More »

We’re kicking of this year’s sales with a weekend celebration event! This weekend we celebrate love and all of the U.S. presidents, past and present, with an opportunity to save. Take 20% off your entire software purchase now through February 15th. This includes all new license purchases and active software subscription renewals. Head on over to our On-line Store and use the discount code VPDS16 to redeem this offer. Don’t let this slip away! Restrictions: This offer is valid only from February 12, 2016 through February 15, 2016. This offer may not be combined with other offers. This offer… &nbsp More »

The Group-Object cmdlet, one of the original provider cmdlets, is as old as Windows PowerShell. It was introduced in version 1.0 and hasn't changed at all since then. But, it is one of my favorites. (You can tell when I love a cmdlet by the number of examples. Group-Object has 9!) In fact, when you use it frequently, you begin to see groups as a path to many solutions. Group-Object groups objects by the values of a property that you choose. So, it's a quick way to find the property values that appear in a data set. Which domain controllers are used by users… &nbsp More »