PoshCode Logo PowerShell Code Repository

Set-PowerGUIWelcomePage (modification of post by view diff)
View followups from Dmitry Sotnikov | embed code: <script type="text/javascript" src="http://PoshCode.org/embed/860"></script>download | new post

This script customizes the welcome screen which PowerGUI admin console displays on start-up or when a folder is selected in the left-hand tree.
You can use it to introduce branding to the PowerGUI consoles used in your company or to provide your employees with additional information.
Create the MHT file by saving it from Internet Explorer, Microsoft Word or another editor, then run this script to set a reference to the file from PowerGUI configuration.

See http://dmitrysotnikov.wordpress.com/2009/02/11/rebranding-powergui-consolerebranding-powergui-console/ for details

  1. ########################################################
  2. # Modifies the default PowerGUI admin console
  3. # welcome screen to the mht file you supply
  4. # Details available at:
  5. # http://dmitrysotnikov.wordpress.com/2009/02/11/rebranding-powergui-consolerebranding-powergui-console/
  6. ########################################################
  7. # Usage:
  8. # & .\Set-PowerGUIWelcomePage.ps1 \\server\share\my.mht
  9. ########################################################
  10. # (c) Dmitry Sotnikov, Oleg Shevnin
  11. # v1, Feb 11, 2009
  12. ########################################################
  13.  
  14. param ($mhtpath)
  15. # this should be path (local or UNC) to the new welcome page
  16.  
  17. # verify that the new file exists and is mht
  18. if ( $mhtpath -eq $null ) {
  19.         $mhtpath = Read-Host "Please provide path to the MHT file."
  20. }
  21. $mhtfile = Get-ChildItem $mhtpath
  22. if ( $mhtfile -eq $null) {
  23.         throw "MHT file $mhtpath not found. Please verify the script parameter."
  24. }
  25. if ( $mhtfile.Extension -ne ".mht" ) {
  26.         throw "File $mhtpath is not an MHT file. Only MHT files are supported."
  27. }
  28.  
  29. # Locate PowerGUI configuration for current user on this computer
  30. $cfgpath = "$($env:APPDATA)\Quest Software\PowerGUI\quest.powergui.xml"
  31.  
  32. # Create backup
  33. Copy-Item $cfgpath "$cfgpath.backupconfig"
  34.  
  35. # Read the file
  36. $xml = [xml]$(Get-Content $cfgpath)
  37.  
  38. # If the section for custom welcome page does not exist - create it
  39. $node = $xml.SelectSingleNode("//container[@id='4b510268-a4eb-42e0-9276-06223660291d']")
  40. if ($node -eq $null) {
  41.         $node = $xml.CreateElement("container")
  42.        
  43.         $node.SetAttribute("id", "4b510268-a4eb-42e0-9276-06223660291d")
  44.         $node.SetAttribute("name", "Home Page")
  45.        
  46.         $node.AppendChild($xml.CreateElement("value"))
  47.         $xml.SelectSingleNode("/configuration/items").AppendChild($node)
  48. }
  49.  
  50. # Set the new value and save the file
  51. $node.Value = $mhtpath
  52. $xml.Save($cfgpath)

Submit a correction or amendment below (
click here to make a fresh posting)
After submitting an amendment, you'll be able to view the differences between the old and new posts easily.

Syntax highlighting:


Remember me