{"id":14852,"date":"2018-04-30T06:00:57","date_gmt":"2018-04-30T13:00:57","guid":{"rendered":"https:\/\/www.sapien.com\/blog\/?p=14852"},"modified":"2018-04-27T13:32:47","modified_gmt":"2018-04-27T20:32:47","slug":"powershell-studio-working-with-azure-cloud-shell","status":"publish","type":"post","link":"https:\/\/dev.sapien.com\/blog\/2018\/04\/30\/powershell-studio-working-with-azure-cloud-shell\/","title":{"rendered":"PowerShell Studio: Working with Azure Cloud Shell"},"content":{"rendered":"<p>I have been playing around with my Linux environment and <strong>AzureRM.Netcore<\/strong> cmdlets for some time now. I have also been using my Windows 10 WSL (<em>Windows Subsystem for Linux<\/em>) for working cross-platform with Microsoft Azure Cloud Shell.<\/p>\n<p>Azure Cloud Shell has been around for some time and has undergone some significant improvements\u2014notably the ability to pick which command line to use right from the browser.<\/p>\n<p>This image shows the Microsoft Azure Portal with the Azure Cloud Shell integrated into the browser:<\/p>\n<p><a href=\"https:\/\/www.sapien.com\/blog\/wp-content\/uploads\/2018\/04\/Browser_AzureCloudShell_2018-04-23_17-26-31.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-14858\" src=\"https:\/\/www.sapien.com\/blog\/wp-content\/uploads\/2018\/04\/Browser_AzureCloudShell_2018-04-23_17-26-31-300x172.jpg\" alt=\"\" width=\"558\" height=\"320\" srcset=\"https:\/\/dev.sapien.com\/blog\/wp-content\/uploads\/2018\/04\/Browser_AzureCloudShell_2018-04-23_17-26-31-300x172.jpg 300w, https:\/\/dev.sapien.com\/blog\/wp-content\/uploads\/2018\/04\/Browser_AzureCloudShell_2018-04-23_17-26-31-768x440.jpg 768w, https:\/\/dev.sapien.com\/blog\/wp-content\/uploads\/2018\/04\/Browser_AzureCloudShell_2018-04-23_17-26-31-1024x587.jpg 1024w, https:\/\/dev.sapien.com\/blog\/wp-content\/uploads\/2018\/04\/Browser_AzureCloudShell_2018-04-23_17-26-31-848x486.jpg 848w, https:\/\/dev.sapien.com\/blog\/wp-content\/uploads\/2018\/04\/Browser_AzureCloudShell_2018-04-23_17-26-31.jpg 1496w\" sizes=\"auto, (max-width: 558px) 100vw, 558px\" \/><\/a><\/p>\n<p>For more information check out <a href=\"https:\/\/azure.microsoft.com\/en-us\/features\/cloud-shell\/\" target=\"_blank\" rel=\"noopener\">Azure Cloud Shell documentation<\/a>.<\/p>\n<h3>Be Creative<\/h3>\n<p>One thing I love about using PowerShell Studio by SAPIEN Technologies is the ability to be creative! The only limitation we put is on ourselves, so why not take it further with the Azure Cloud Shell?<\/p>\n<p>This is a good opportunity to take a moment and check out all of the Windows Controls that PowerShell Studio has available for building GUI forms:<\/p>\n<p><a href=\"https:\/\/www.sapien.com\/blog\/wp-content\/uploads\/2018\/04\/GUI-Control-Toolbox-2018-04-23_17-31-32.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-14859\" src=\"https:\/\/www.sapien.com\/blog\/wp-content\/uploads\/2018\/04\/GUI-Control-Toolbox-2018-04-23_17-31-32-65x300.jpg\" alt=\"\" width=\"157\" height=\"725\" \/><\/a><\/p>\n<p>Let&#8217;s be creative and build a GUI form that uses the <strong>WebBrowser Control<\/strong> to host the Azure Cloud Shell.<\/p>\n<h3>Build A Simple GUI<\/h3>\n<p>We can build a simple GUI and incorporate the <strong>WebBrowser<\/strong>\u00a0control with the following steps:<\/p>\n<p>Open a new empty form: <strong>File<\/strong> &gt; <strong>New<\/strong> &gt; <strong>New Form<\/strong> &gt; <strong>Empty Form<\/strong>:<\/p>\n<p><a href=\"https:\/\/www.sapien.com\/blog\/wp-content\/uploads\/2018\/04\/GUI_01_2018-04-18_17-44-26.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-14861\" src=\"https:\/\/www.sapien.com\/blog\/wp-content\/uploads\/2018\/04\/GUI_01_2018-04-18_17-44-26-300x180.jpg\" alt=\"\" width=\"505\" height=\"303\" srcset=\"https:\/\/dev.sapien.com\/blog\/wp-content\/uploads\/2018\/04\/GUI_01_2018-04-18_17-44-26-300x180.jpg 300w, https:\/\/dev.sapien.com\/blog\/wp-content\/uploads\/2018\/04\/GUI_01_2018-04-18_17-44-26-768x461.jpg 768w, https:\/\/dev.sapien.com\/blog\/wp-content\/uploads\/2018\/04\/GUI_01_2018-04-18_17-44-26-848x509.jpg 848w, https:\/\/dev.sapien.com\/blog\/wp-content\/uploads\/2018\/04\/GUI_01_2018-04-18_17-44-26.jpg 932w\" sizes=\"auto, (max-width: 505px) 100vw, 505px\" \/><\/a><\/p>\n<p>When the form opens, in the <strong>Properties<\/strong>\u00a0panel change the <strong>Text<\/strong> property name from &#8220;<em>Form&#8221;<\/em>\u00a0to &#8220;<em>MyAzureCloudShell<\/em>&#8220;:<\/p>\n<p><a href=\"https:\/\/www.sapien.com\/blog\/wp-content\/uploads\/2018\/04\/GUI_02_2018-04-23_17-44-26.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-14863\" src=\"https:\/\/www.sapien.com\/blog\/wp-content\/uploads\/2018\/04\/GUI_02_2018-04-23_17-44-26-300x180.jpg\" alt=\"\" width=\"502\" height=\"301\" srcset=\"https:\/\/dev.sapien.com\/blog\/wp-content\/uploads\/2018\/04\/GUI_02_2018-04-23_17-44-26-300x180.jpg 300w, https:\/\/dev.sapien.com\/blog\/wp-content\/uploads\/2018\/04\/GUI_02_2018-04-23_17-44-26-768x460.jpg 768w, https:\/\/dev.sapien.com\/blog\/wp-content\/uploads\/2018\/04\/GUI_02_2018-04-23_17-44-26-1024x613.jpg 1024w, https:\/\/dev.sapien.com\/blog\/wp-content\/uploads\/2018\/04\/GUI_02_2018-04-23_17-44-26-848x508.jpg 848w, https:\/\/dev.sapien.com\/blog\/wp-content\/uploads\/2018\/04\/GUI_02_2018-04-23_17-44-26.jpg 1437w\" sizes=\"auto, (max-width: 502px) 100vw, 502px\" \/><\/a><\/p>\n<p>From the <strong>Toolbox<\/strong>\u00a0panel &gt; drag\/drop the <strong>WebBrowser<\/strong> control into the new form.<\/p>\n<p>If necessary, resize the form in the Forms Designer:<\/p>\n<p><a href=\"https:\/\/www.sapien.com\/blog\/wp-content\/uploads\/2018\/04\/GUI_03_2018-04-23_17-44-26.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-14864\" src=\"https:\/\/www.sapien.com\/blog\/wp-content\/uploads\/2018\/04\/GUI_03_2018-04-23_17-44-26-300x179.jpg\" alt=\"\" width=\"499\" height=\"298\" srcset=\"https:\/\/dev.sapien.com\/blog\/wp-content\/uploads\/2018\/04\/GUI_03_2018-04-23_17-44-26-300x179.jpg 300w, https:\/\/dev.sapien.com\/blog\/wp-content\/uploads\/2018\/04\/GUI_03_2018-04-23_17-44-26-768x457.jpg 768w, https:\/\/dev.sapien.com\/blog\/wp-content\/uploads\/2018\/04\/GUI_03_2018-04-23_17-44-26-1024x610.jpg 1024w, https:\/\/dev.sapien.com\/blog\/wp-content\/uploads\/2018\/04\/GUI_03_2018-04-23_17-44-26-848x505.jpg 848w, https:\/\/dev.sapien.com\/blog\/wp-content\/uploads\/2018\/04\/GUI_03_2018-04-23_17-44-26.jpg 1434w\" sizes=\"auto, (max-width: 499px) 100vw, 499px\" \/><\/a><\/p>\n<p>To preview the form &gt; on the <strong>Home<\/strong>\u00a0ribbon &gt; select\u00a0<strong>Run<\/strong>.<\/p>\n<p>PowerShell Studio will prompt you to save the form &gt; <strong>Enter an application name<\/strong>. It is also recommended to provide a folder name to create the executable:<\/p>\n<p><a href=\"https:\/\/www.sapien.com\/blog\/wp-content\/uploads\/2018\/04\/GUI_04_2018-04-23_17-44-26.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-14865\" src=\"https:\/\/www.sapien.com\/blog\/wp-content\/uploads\/2018\/04\/GUI_04_2018-04-23_17-44-26-300x168.jpg\" alt=\"\" width=\"423\" height=\"237\" srcset=\"https:\/\/dev.sapien.com\/blog\/wp-content\/uploads\/2018\/04\/GUI_04_2018-04-23_17-44-26-300x168.jpg 300w, https:\/\/dev.sapien.com\/blog\/wp-content\/uploads\/2018\/04\/GUI_04_2018-04-23_17-44-26-768x429.jpg 768w, https:\/\/dev.sapien.com\/blog\/wp-content\/uploads\/2018\/04\/GUI_04_2018-04-23_17-44-26-1024x572.jpg 1024w, https:\/\/dev.sapien.com\/blog\/wp-content\/uploads\/2018\/04\/GUI_04_2018-04-23_17-44-26-848x474.jpg 848w, https:\/\/dev.sapien.com\/blog\/wp-content\/uploads\/2018\/04\/GUI_04_2018-04-23_17-44-26.jpg 1437w\" sizes=\"auto, (max-width: 423px) 100vw, 423px\" \/>\u00a0<\/a><a href=\"https:\/\/www.sapien.com\/blog\/wp-content\/uploads\/2018\/04\/GUI_05_2018-04-23_17-44-26.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-14866\" src=\"https:\/\/www.sapien.com\/blog\/wp-content\/uploads\/2018\/04\/GUI_05_2018-04-23_17-44-26-300x205.jpg\" alt=\"\" width=\"347\" height=\"237\" srcset=\"https:\/\/dev.sapien.com\/blog\/wp-content\/uploads\/2018\/04\/GUI_05_2018-04-23_17-44-26-300x205.jpg 300w, https:\/\/dev.sapien.com\/blog\/wp-content\/uploads\/2018\/04\/GUI_05_2018-04-23_17-44-26-768x524.jpg 768w, https:\/\/dev.sapien.com\/blog\/wp-content\/uploads\/2018\/04\/GUI_05_2018-04-23_17-44-26-848x578.jpg 848w, https:\/\/dev.sapien.com\/blog\/wp-content\/uploads\/2018\/04\/GUI_05_2018-04-23_17-44-26.jpg 981w\" sizes=\"auto, (max-width: 347px) 100vw, 347px\" \/><\/a><\/p>\n<p>To complete the application we need to add the hypertext URL &#8220;<em>http:\/\/shell.azure.com<\/em>&#8221; to the <strong>WebBrowser\u00a0<\/strong>control.<\/p>\n<p>Click on the form where the\u00a0<strong>webbrowser1<\/strong>\u00a0was added.<\/p>\n<p>In the <strong>Properties<\/strong>\u00a0panel &gt; under the\u00a0<strong>Behavior<\/strong>\u00a0section &gt; in the <strong>URL<\/strong> field &gt; enter the value\u00a0&#8220;<em>http:\/\/shell.azure.com<\/em>&#8220;:<\/p>\n<p><a href=\"https:\/\/www.sapien.com\/blog\/wp-content\/uploads\/2018\/04\/GUI_06a_2018-04-23_17-44-26.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-14867\" src=\"https:\/\/www.sapien.com\/blog\/wp-content\/uploads\/2018\/04\/GUI_06a_2018-04-23_17-44-26-300x174.jpg\" alt=\"\" width=\"512\" height=\"297\" srcset=\"https:\/\/dev.sapien.com\/blog\/wp-content\/uploads\/2018\/04\/GUI_06a_2018-04-23_17-44-26-300x174.jpg 300w, https:\/\/dev.sapien.com\/blog\/wp-content\/uploads\/2018\/04\/GUI_06a_2018-04-23_17-44-26-768x444.jpg 768w, https:\/\/dev.sapien.com\/blog\/wp-content\/uploads\/2018\/04\/GUI_06a_2018-04-23_17-44-26-1024x592.jpg 1024w, https:\/\/dev.sapien.com\/blog\/wp-content\/uploads\/2018\/04\/GUI_06a_2018-04-23_17-44-26-848x490.jpg 848w, https:\/\/dev.sapien.com\/blog\/wp-content\/uploads\/2018\/04\/GUI_06a_2018-04-23_17-44-26.jpg 1186w\" sizes=\"auto, (max-width: 512px) 100vw, 512px\" \/>\u00a0<\/a><a href=\"https:\/\/www.sapien.com\/blog\/wp-content\/uploads\/2018\/04\/GUI_07_2018-04-23_17-44-26.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-14868\" src=\"https:\/\/www.sapien.com\/blog\/wp-content\/uploads\/2018\/04\/GUI_07_2018-04-23_17-44-26-191x300.jpg\" alt=\"\" width=\"188\" height=\"295\" srcset=\"https:\/\/dev.sapien.com\/blog\/wp-content\/uploads\/2018\/04\/GUI_07_2018-04-23_17-44-26-191x300.jpg 191w, https:\/\/dev.sapien.com\/blog\/wp-content\/uploads\/2018\/04\/GUI_07_2018-04-23_17-44-26.jpg 228w\" sizes=\"auto, (max-width: 188px) 100vw, 188px\" \/><\/a><\/p>\n<p>To preview the new application you will need to Sign In or Create an Azure account. A login message will be displayed when the application opens:<\/p>\n<p><a href=\"https:\/\/www.sapien.com\/blog\/wp-content\/uploads\/2018\/04\/MyAzureCloudShell_01_2018-04-18_11-43-47.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-14869\" src=\"https:\/\/www.sapien.com\/blog\/wp-content\/uploads\/2018\/04\/MyAzureCloudShell_01_2018-04-18_11-43-47-300x160.jpg\" alt=\"\" width=\"525\" height=\"280\" srcset=\"https:\/\/dev.sapien.com\/blog\/wp-content\/uploads\/2018\/04\/MyAzureCloudShell_01_2018-04-18_11-43-47-300x160.jpg 300w, https:\/\/dev.sapien.com\/blog\/wp-content\/uploads\/2018\/04\/MyAzureCloudShell_01_2018-04-18_11-43-47-768x408.jpg 768w, https:\/\/dev.sapien.com\/blog\/wp-content\/uploads\/2018\/04\/MyAzureCloudShell_01_2018-04-18_11-43-47-1024x545.jpg 1024w, https:\/\/dev.sapien.com\/blog\/wp-content\/uploads\/2018\/04\/MyAzureCloudShell_01_2018-04-18_11-43-47-848x451.jpg 848w, https:\/\/dev.sapien.com\/blog\/wp-content\/uploads\/2018\/04\/MyAzureCloudShell_01_2018-04-18_11-43-47.jpg 1239w\" sizes=\"auto, (max-width: 525px) 100vw, 525px\" \/><\/a><\/p>\n<h3>Preparing Application Settings<\/h3>\n<p>Now, after successfully testing the\u00a0<strong>MyAzureCloudShell<\/strong> application, we are ready to create the executable.<\/p>\n<p>In PowerShell Studio, on the <strong>Deploy<\/strong> ribbon, in the <strong>Packager<\/strong>\u00a0section, select <strong>Settings<\/strong>:<\/p>\n<p><a href=\"https:\/\/www.sapien.com\/blog\/wp-content\/uploads\/2018\/04\/DeploySection_01_-2018-04-23_17-31-32.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-14870\" src=\"https:\/\/www.sapien.com\/blog\/wp-content\/uploads\/2018\/04\/DeploySection_01_-2018-04-23_17-31-32-300x46.jpg\" alt=\"\" width=\"580\" height=\"89\" srcset=\"https:\/\/dev.sapien.com\/blog\/wp-content\/uploads\/2018\/04\/DeploySection_01_-2018-04-23_17-31-32-300x46.jpg 300w, https:\/\/dev.sapien.com\/blog\/wp-content\/uploads\/2018\/04\/DeploySection_01_-2018-04-23_17-31-32-768x118.jpg 768w, https:\/\/dev.sapien.com\/blog\/wp-content\/uploads\/2018\/04\/DeploySection_01_-2018-04-23_17-31-32-848x130.jpg 848w, https:\/\/dev.sapien.com\/blog\/wp-content\/uploads\/2018\/04\/DeploySection_01_-2018-04-23_17-31-32.jpg 925w\" sizes=\"auto, (max-width: 580px) 100vw, 580px\" \/><\/a><\/p>\n<p>There are five\u00a0<strong>Script Packager<\/strong>\u00a0settings. We only need to configure the first four:<\/p>\n<p><a href=\"https:\/\/www.sapien.com\/blog\/wp-content\/uploads\/2018\/04\/Gui_08_2018-04-23_18-12-49.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-14872\" src=\"https:\/\/www.sapien.com\/blog\/wp-content\/uploads\/2018\/04\/Gui_08_2018-04-23_18-12-49.jpg\" alt=\"\" width=\"168\" height=\"246\" \/><\/a><\/p>\n<p><strong>Script Engine<\/strong> &#8211; Identify which script engine will be used to build the application.<\/p>\n<p>Select the <strong>Target<\/strong> as\u00a0&#8220;<em>Microsoft Windows 64 bit<\/em>&#8221; and the <strong>Script Engines<\/strong>\u00a0as &#8220;<em>SAPIEN PowerShell v5 Host (Windows)<\/em>&#8220;:<\/p>\n<p><a href=\"https:\/\/www.sapien.com\/blog\/wp-content\/uploads\/2018\/04\/ScriptEng_2018-04-18_21-11-30.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-14873\" src=\"https:\/\/www.sapien.com\/blog\/wp-content\/uploads\/2018\/04\/ScriptEng_2018-04-18_21-11-30-300x179.jpg\" alt=\"\" width=\"555\" height=\"331\" srcset=\"https:\/\/dev.sapien.com\/blog\/wp-content\/uploads\/2018\/04\/ScriptEng_2018-04-18_21-11-30-300x179.jpg 300w, https:\/\/dev.sapien.com\/blog\/wp-content\/uploads\/2018\/04\/ScriptEng_2018-04-18_21-11-30-768x458.jpg 768w, https:\/\/dev.sapien.com\/blog\/wp-content\/uploads\/2018\/04\/ScriptEng_2018-04-18_21-11-30-1024x611.jpg 1024w, https:\/\/dev.sapien.com\/blog\/wp-content\/uploads\/2018\/04\/ScriptEng_2018-04-18_21-11-30-848x506.jpg 848w, https:\/\/dev.sapien.com\/blog\/wp-content\/uploads\/2018\/04\/ScriptEng_2018-04-18_21-11-30.jpg 1436w\" sizes=\"auto, (max-width: 555px) 100vw, 555px\" \/><\/a><\/p>\n<p><strong>Output Settings<\/strong> &#8211; In the <strong>Engine Settings<\/strong>\u00a0section, designate the <strong>Output file<\/strong>\u00a0name, and the <strong>Output folder<\/strong>\u00a0name where the executable will be created. The rest of the fields are optional:<\/p>\n<p><a href=\"https:\/\/www.sapien.com\/blog\/wp-content\/uploads\/2018\/04\/OutputSett_2018-04-23_18-17-07.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-14874\" src=\"https:\/\/www.sapien.com\/blog\/wp-content\/uploads\/2018\/04\/OutputSett_2018-04-23_18-17-07-300x210.jpg\" alt=\"\" width=\"508\" height=\"356\" srcset=\"https:\/\/dev.sapien.com\/blog\/wp-content\/uploads\/2018\/04\/OutputSett_2018-04-23_18-17-07-300x210.jpg 300w, https:\/\/dev.sapien.com\/blog\/wp-content\/uploads\/2018\/04\/OutputSett_2018-04-23_18-17-07-768x538.jpg 768w, https:\/\/dev.sapien.com\/blog\/wp-content\/uploads\/2018\/04\/OutputSett_2018-04-23_18-17-07-848x594.jpg 848w, https:\/\/dev.sapien.com\/blog\/wp-content\/uploads\/2018\/04\/OutputSett_2018-04-23_18-17-07.jpg 935w\" sizes=\"auto, (max-width: 508px) 100vw, 508px\" \/><\/a><\/p>\n<p><strong>Execution Restrictions<\/strong> &#8211; In the\u00a0<strong>Operating Systems<\/strong> section,\u00a0select which Windows Operating Systems the application will execute (Window 7 &#8211; Windows 10):<\/p>\n<p><a href=\"https:\/\/www.sapien.com\/blog\/wp-content\/uploads\/2018\/04\/Exec_Restrict_2018-04-23_18-18-24.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-14875\" src=\"https:\/\/www.sapien.com\/blog\/wp-content\/uploads\/2018\/04\/Exec_Restrict_2018-04-23_18-18-24-300x210.jpg\" alt=\"\" width=\"508\" height=\"355\" srcset=\"https:\/\/dev.sapien.com\/blog\/wp-content\/uploads\/2018\/04\/Exec_Restrict_2018-04-23_18-18-24-300x210.jpg 300w, https:\/\/dev.sapien.com\/blog\/wp-content\/uploads\/2018\/04\/Exec_Restrict_2018-04-23_18-18-24-768x538.jpg 768w, https:\/\/dev.sapien.com\/blog\/wp-content\/uploads\/2018\/04\/Exec_Restrict_2018-04-23_18-18-24-848x594.jpg 848w, https:\/\/dev.sapien.com\/blog\/wp-content\/uploads\/2018\/04\/Exec_Restrict_2018-04-23_18-18-24.jpg 935w\" sizes=\"auto, (max-width: 508px) 100vw, 508px\" \/><\/a><\/p>\n<p><strong>Version Information<\/strong> &#8211; Enter any application specific version information:<\/p>\n<p><a href=\"https:\/\/www.sapien.com\/blog\/wp-content\/uploads\/2018\/04\/Version_Info_2018-04-23_18-19-39.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-14876\" src=\"https:\/\/www.sapien.com\/blog\/wp-content\/uploads\/2018\/04\/Version_Info_2018-04-23_18-19-39-300x210.jpg\" alt=\"\" width=\"507\" height=\"355\" srcset=\"https:\/\/dev.sapien.com\/blog\/wp-content\/uploads\/2018\/04\/Version_Info_2018-04-23_18-19-39-300x210.jpg 300w, https:\/\/dev.sapien.com\/blog\/wp-content\/uploads\/2018\/04\/Version_Info_2018-04-23_18-19-39-768x538.jpg 768w, https:\/\/dev.sapien.com\/blog\/wp-content\/uploads\/2018\/04\/Version_Info_2018-04-23_18-19-39-848x594.jpg 848w, https:\/\/dev.sapien.com\/blog\/wp-content\/uploads\/2018\/04\/Version_Info_2018-04-23_18-19-39.jpg 935w\" sizes=\"auto, (max-width: 507px) 100vw, 507px\" \/><\/a><\/p>\n<p>After you have completed selecting all of the required application settings, click <strong>OK<\/strong>.\u00a0Now, it&#8217;s time to build the application executable.<\/p>\n<h3>Build Application Executable<\/h3>\n<p>There are two options to create the executable:<\/p>\n<p><strong>Build<\/strong>\u00a0&#8211; This option only builds the application executable.<\/p>\n<p><b>Build &amp; Run<\/b> &#8211; This option builds the application executable and then executes the application.<\/p>\n<p>Select the\u00a0<strong>Build &amp; Run<\/strong> option:<\/p>\n<p><a href=\"https:\/\/www.sapien.com\/blog\/wp-content\/uploads\/2018\/04\/BUildRun_2018-04-23_18-21-16.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-14877\" src=\"https:\/\/www.sapien.com\/blog\/wp-content\/uploads\/2018\/04\/BUildRun_2018-04-23_18-21-16-300x64.jpg\" alt=\"\" width=\"370\" height=\"79\" srcset=\"https:\/\/dev.sapien.com\/blog\/wp-content\/uploads\/2018\/04\/BUildRun_2018-04-23_18-21-16-300x64.jpg 300w, https:\/\/dev.sapien.com\/blog\/wp-content\/uploads\/2018\/04\/BUildRun_2018-04-23_18-21-16.jpg 674w\" sizes=\"auto, (max-width: 370px) 100vw, 370px\" \/><\/a><\/p>\n<p><a href=\"https:\/\/www.sapien.com\/blog\/wp-content\/uploads\/2018\/04\/AppDone_2018-04-23_18-23-27.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-14878\" src=\"https:\/\/www.sapien.com\/blog\/wp-content\/uploads\/2018\/04\/AppDone_2018-04-23_18-23-27-300x43.jpg\" alt=\"\" width=\"481\" height=\"69\" srcset=\"https:\/\/dev.sapien.com\/blog\/wp-content\/uploads\/2018\/04\/AppDone_2018-04-23_18-23-27-300x43.jpg 300w, https:\/\/dev.sapien.com\/blog\/wp-content\/uploads\/2018\/04\/AppDone_2018-04-23_18-23-27-768x110.jpg 768w, https:\/\/dev.sapien.com\/blog\/wp-content\/uploads\/2018\/04\/AppDone_2018-04-23_18-23-27-848x121.jpg 848w, https:\/\/dev.sapien.com\/blog\/wp-content\/uploads\/2018\/04\/AppDone_2018-04-23_18-23-27.jpg 875w\" sizes=\"auto, (max-width: 481px) 100vw, 481px\" \/><\/a><\/p>\n<p>And, we are done!<\/p>\n<h3>Recap<\/h3>\n<p>This article showed how easy it is to build a simple and practical Windows application with PowerShell Studio with only one Windows Forms Control.\u00a0 In this example we extended a browser-based tool to a Windows Application that can allow multiple executable instances when needed.<\/p>\n<p><a href=\"https:\/\/www.sapien.com\/blog\/wp-content\/uploads\/2018\/04\/MySAPIEN-AzureCloudShell_2018-04-17_19-49-27.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-14879\" src=\"https:\/\/www.sapien.com\/blog\/wp-content\/uploads\/2018\/04\/MySAPIEN-AzureCloudShell_2018-04-17_19-49-27-300x174.jpg\" alt=\"\" width=\"552\" height=\"320\" srcset=\"https:\/\/dev.sapien.com\/blog\/wp-content\/uploads\/2018\/04\/MySAPIEN-AzureCloudShell_2018-04-17_19-49-27-300x174.jpg 300w, https:\/\/dev.sapien.com\/blog\/wp-content\/uploads\/2018\/04\/MySAPIEN-AzureCloudShell_2018-04-17_19-49-27-768x447.jpg 768w, https:\/\/dev.sapien.com\/blog\/wp-content\/uploads\/2018\/04\/MySAPIEN-AzureCloudShell_2018-04-17_19-49-27-1024x596.jpg 1024w, https:\/\/dev.sapien.com\/blog\/wp-content\/uploads\/2018\/04\/MySAPIEN-AzureCloudShell_2018-04-17_19-49-27-848x493.jpg 848w, https:\/\/dev.sapien.com\/blog\/wp-content\/uploads\/2018\/04\/MySAPIEN-AzureCloudShell_2018-04-17_19-49-27.jpg 1790w\" sizes=\"auto, (max-width: 552px) 100vw, 552px\" \/><\/a><\/p>\n<p>Go ahead and try it out!<\/p>\n<h3>Feedback<\/h3>\n<p>As always, if you have any ideas, comments, or feedback, please <a href=\"https:\/\/www.sapien.com\/forums\/viewforum.php?f=23\">visit our feedback forum<\/a> and reference this post.<\/p>\n<p>&nbsp;<\/p>\n<p><em>Max Trinidad is a Technology Evangelist at SAPIEN Technologies Inc., and a Microsoft PowerShell MVP. You can reach him at\u00a0<a href=\"mailto:maxt@sapien.com\">maxt@sapien.com<\/a><\/em><\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I have been playing around with my Linux environment and AzureRM.Netcore cmdlets for some time now. I have also been using my Windows 10 WSL (Windows Subsystem for Linux) for working cross-platform with Microsoft Azure Cloud Shell. Azure Cloud Shell has been around for some time and has undergone some significant improvements\u2014notably the ability to [&hellip;]<\/p>\n","protected":false},"author":47,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[1115,1143,941,1238,703,1239],"tags":[41,1016,390,815],"class_list":["post-14852","post","type-post","status-publish","format-standard","hentry","category-bash","category-powershell","category-powershell-5-0","category-powershell-core","category-powershell-studio","category-pscore6","tag-gui","tag-powershell-studio","tag-web-browser","tag-windows-forms"],"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/dev.sapien.com\/blog\/wp-json\/wp\/v2\/posts\/14852","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/dev.sapien.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/dev.sapien.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/dev.sapien.com\/blog\/wp-json\/wp\/v2\/users\/47"}],"replies":[{"embeddable":true,"href":"https:\/\/dev.sapien.com\/blog\/wp-json\/wp\/v2\/comments?post=14852"}],"version-history":[{"count":26,"href":"https:\/\/dev.sapien.com\/blog\/wp-json\/wp\/v2\/posts\/14852\/revisions"}],"predecessor-version":[{"id":14952,"href":"https:\/\/dev.sapien.com\/blog\/wp-json\/wp\/v2\/posts\/14852\/revisions\/14952"}],"wp:attachment":[{"href":"https:\/\/dev.sapien.com\/blog\/wp-json\/wp\/v2\/media?parent=14852"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/dev.sapien.com\/blog\/wp-json\/wp\/v2\/categories?post=14852"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/dev.sapien.com\/blog\/wp-json\/wp\/v2\/tags?post=14852"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}