I’ve posted a new version of what I’m now calling “SAPIEN Extensions for Windows PowerShell,” or “PshX-SAPIEN” for short (this was formerly “PrimalToys for PowerShell,” but that name was causing some confusion since we also have an unrelated collection of COM components called PrimalToys). The new version changes the way the Ping-Computer cmdlet works, modifies Write-Speech to accept pipeline input, and updates everything (I hope) to use the new name for the snap-in.
If you have the old version, I suggest de-registering it. In the v2.0.xxxx folder under \Windows\Microsoft.NET\Framework, you’ll find InstallUtil.exe. Run it with the /u switch, giving it the path to the old PrimalToys.dll file:
installutil /u “path to dll file”
Then, copy in the new PshX-SAPIEN.dll file (www.primalscript.com/freetools). Run InstallUtil.exe again, this time without the /u switch:
installutil “path to new dll file”
And that should do it. Installation instructions are in an accompanying Word doc. Go to www.sapien.com/support.asp (in the “Free Tools Support” forum) for technical support. Note that I’m still not providing a PowerShell help file (and won’t until Microsoft releases a help file authoring tool – the help file XML format is insanely complicated), so the Get-Help cmdlet won’t pull up help for the PshX-SAPIEN cmdlets. However, they’re all documented in the Word doc that accompanies the DLL.
Enjoy! BTW, I’d love some comments or forum posts on additional cmdlets you’d like to see implemented. Costs you nothing!
Excellent Don – very useful.
I like the way the nw ping-computer works.
How about a switch that pings the RPC port. Computers that are hidden from the net will not respond t a ping but must have an RPC port open to be in a domain. I believe the RPC port can also report the health of the host in simple terms like "good", "degenerated" and "not responding" the last meaning that the RPC port was found but the OS is either hung or crashing.
I set out to do this about a month ago but got dragged of to other less fun things and haven’t gotten back to it.
Exchange has a utility called rpcping. It does exactly this sort of thing. I believe it can query almost any service on the server that uses RPC. The NET management classes should have the port primitives for doing this.
See the newest PowerShell team blog entry… Start writing those help files! 😉
Done :).