Last active
December 19, 2016 20:58
-
-
Save juneb/496639bddf5dab1911ab to your computer and use it in GitHub Desktop.
Opens the SAPIEN forum that you specify in your default internet browser window.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<# | |
.SYNOPSIS | |
Gets or opens a SAPIEN forum page. | |
.DESCRIPTION | |
The Start-SAPIENForum.ps1 script opens the SAPIEN forum that you specify in | |
your default internet browser window. It can also search the forums (all of | |
them) for the search term that you specify. | |
To open a particular forum, use the Name parameter. If the value of the Name | |
parameter matches one forum name, the script opens the forum. Otherwise, it returns | |
objects that represent the forums. | |
To search all forums, use the Search parameter. | |
To get a list of SAPIEN forums, omit the Name or use the ListOnly parameter. | |
.PARAMETER Name | |
Enter the full or partial name of a forum. This parameter is optional. By default, | |
Start-SAPIENForum.ps1 returns an object that represents each forum. | |
.PARAMETER ListOnly | |
Instead of opening a forum, ListOnly returns a custom object for with the Name, URL, and Description of each forum. | |
.PARAMETER Search | |
Searches all forums for the specified term and opens the page with the results. Enter one or more search terms in a string. | |
.EXAMPLE | |
.\Start-SAPIENForum.ps1 | |
This command returns an object representing each SAPIEN forum. | |
.EXAMPLE | |
.\Start-SAPIENForum.ps1 -ListOnly | |
This command returns an object representing each SAPIEN forum. | |
.EXAMPLE | |
.\Start-SAPIENForum.ps1 -Name 'PowerShell Studio' | |
This command opens the PowerShell Studio forum. | |
.EXAMPLE | |
.\Start-SAPIENForum.ps1 -Name 'PowerShell Studio' -ListOnly | |
This command returns an object that represents the PowerShell Studio forum. | |
.EXAMPLE | |
.\Start-SAPIENForum.ps1 -Name GUI | |
This command opens the PowerShell GUI forum. | |
.EXAMPLE | |
.\Start-SAPIENForum.ps1 -Search 'How to Install PowerShell V 5.0 ' | |
This command searches all SAPIEN support forums for search query 'How to Install Powersehll V 5.0' and opens the results in your default internet browser. | |
.NOTES | |
=========================================================================== | |
Created with: SAPIEN Technologies, Inc., PowerShell Studio 2016 v5.2.111 | |
Created on: 2/25/2016 1:16 PM | |
Updated on: 3/22/2015 | |
Created by: June Blender | |
Organization: SAPIEN Technologies, Inc | |
Filename: Start-SAPIENForums.ps1 | |
Gist link: https://gist.github.com/juneb/496639bddf5dab1911ab | |
Thanks to Prasoon V. Karunan (@prasoonkarunan) for contributing the Search parameter. | |
===========================================================================#> | |
[CmdletBinding(DefaultParameterSetName = 'NameSet')] | |
param | |
( | |
[Parameter(ParameterSetName = 'NameSet')] | |
[String] | |
$Name, | |
[Parameter(ParameterSetName = 'NameSet')] | |
[Switch] | |
$ListOnly, | |
[Parameter(ParameterSetName = 'SearchSet')] | |
[ValidateNotNullOrEmpty()] | |
[String] | |
$Search | |
) | |
$script:Forums | |
$ForumUrl = 'http://www.sapien.com/forums/viewforum.php?f=' | |
$ForumTable = @' | |
Trial Software Questions, 8, Use this forum to ask questions before you buy. Need information on licensing or pricing? Questions about a trial version? This is the right place for you. No scripting questions, please. | |
Scripting Answers, 6, A collection of forums for questions about scripting in PowerShell and other languages. | |
Windows PowerShell, 18, Ask your Windows PowerShell-related questions, including questions on cmdlet development! | |
PowerShell GUIs, 21,Ask questions about creating Graphical User Interfaces (GUI) in PowerShell and using WinForms controls. | |
PowerShell Studio, 12, Support for all customers who have purchased a SAPIEN PowerShell Studio product license. This forum does not offer a response time guarantee. | |
PowerShell HelpWriter, 28, Product Support for PowerShell HelpWriter | |
PrimalScript, 11, Support for all customers who have purchased a PrimalScript product license. This forum does not offer a response time guarantee. | |
PrimalSQL, 14, Product support for PrimalSQL users | |
PrimalXML, 15, Product support for PrimalXML users | |
VersionRecall, 22, Support for all customers who have purchased a VersionRecall product license. This forum does not offer a response time guarantee. | |
WMI Explorer, 24, Product support for WMI Explorer users | |
Productivity Pack Support, 10, Product Support for the SAPIEN Productivity Pack | |
iPowerShell Pro, 17, Support forums for users of iPowerShell Pro | |
ChangeVue, 16, Product support for ChangeVue users | |
Customer Service, 7, Use this forum to ask about non-product related topics (login issues, product registrations, web site questions, etc.) No technical support questions, please. | |
VBScript, 19, Anything VBScript-related, including Windows Script Host, WMI, ADSI, and more. | |
Other Scripting Languages, 20, Other Scripting Languages | |
Feedback, 23, Anything you want to tell us? Praise? Criticism? Post it here. Please keep it professional and constructive. | |
Wish List and Feature Requests, 9, Post feature requests, product enhancement ideas, and other product-specific suggestions here. Do not post bug reports. | |
'@ | |
function Load-Forums | |
{ | |
try | |
{ | |
if ($script:Forums = ConvertFrom-Csv -InputObject $ForumTable -Header Name, URL, Description -ErrorAction Stop) | |
{ | |
$script:Forums | foreach { $_.URL = "$ForumUrl$($_.URL)" } | |
return $True | |
} | |
} | |
Catch | |
{ | |
throw 'Cannot load forum table. Contact @juneb_get_help.' | |
} | |
} | |
if (Load-Forums) | |
{ | |
if ($Search) | |
{ | |
$searchUrl = "http://www.sapien.com/forums/search.php?keywords=$Search" | |
Start-Process $searchUrl | |
break; | |
} | |
if (!$Name) | |
{ | |
return $script:Forums | |
} | |
else | |
{ | |
if ($match = $script:Forums | where Name -like "*$Name*") | |
{ | |
if ($ListOnly -or $match.count -gt 1) | |
{ | |
$match | |
} | |
else | |
{ | |
Start-Process $Match.URL | |
} | |
} | |
else | |
{ | |
Write-Warning "No forum name includes: $Name." | |
$script:Forums | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Updated 3/22/2016. Thanks to Prasoon V. Karunan (@prasoonkarunan) for the Search parameter idea.