?
Solved

How do you run executables and their parameters inside of Microsoft Powershell?

Posted on 2010-09-09
3
Medium Priority
?
832 Views
Last Modified: 2012-05-10
I am attempting to run the following block of code, and I am getting a black DOS window to appear and disappear. I translated a batch file over to Microsoft Powershell. I know that the code for making the bubble works below, but I am having trouble finding out why the code that I am running to make the same executables that were working withing the batch file not working inside of Powershell. My end goal with this project is to call the powershell code and run it once versus having a batch file call it. This file will be used on a great number of PCs, so all of them will have Powershell and Windows XP SP 3.

Set-ExecutionPolicy RemoteSigned


if(!Test-Path C:\program Files\Logs\*.*)
{
	New-Item C:\Program Files\Logs -type directory
}

Invoke-Item uninstall_flash_player.exe /clean /silent

Invoke-Item msiexec.exe /I"install_flash_player_10_active_x.msi" REBOOT=ReallySuppress ALLUSERS=1 /qb-! /l*v "C:\Program Files\Logs\Adobe Flash Player 10.1 (EN).log"

Invoke-Item copy "mms.cfg" "%windir%\system32\macromed\flash\mms.cfg" /Y

pause


[System.Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms") 
#System Tray Balloon Popup 
     #The popup mesage 
     $Message="Flash has been upgraded to 10.1 Successfully Contact the Service Desk if you have issues after the install." 
  
     # Valid Message types "Info" "Error" "Warning" "None" 
     $MessageType="Info" 
     
    # The number of seconds to display the message. 
     [int]$duration=60
    #load Windows Forms and drawing assemblies 
    [reflection.assembly]::loadwithpartialname("System.Windows.Forms") | Out-Null 
    [reflection.assembly]::loadwithpartialname("System.Drawing") | Out-Null 
  
    #define an icon image pulled from PowerShell.exe 
    $icon=[system.drawing.icon]::ExtractAssociatedIcon((join-path $pshome powershell.exe)) 
    $notify = new-object system.windows.forms.notifyicon 
    $notify.icon = $icon 
    $notify.visible = $True 
  
    #define the tool tip icon based on the message type 
    switch ($messagetype) { 
     "Error" { $messageIcon=[system.windows.forms.tooltipicon]::Error} 
     "Info" {$messageIcon=[system.windows.forms.tooltipicon]::Info} 
     "Warning" {$messageIcon=[system.windows.forms.tooltipicon]::Warning} 
     Default {$messageIcon=[system.windows.forms.tooltipicon]::None} 
    } 
    $notify.showballoontip($duration,$Title,$message,$MessageIcon) 
 

Open in new window

0
Comment
Question by:thenthorn1010
3 Comments
 
LVL 7

Expert Comment

by:wittyslogan
ID: 33645174
can I just check?  Are you tyring to run this code in a powershell window and it won't work or you are calling it from a file and it won't work.

And what errors is it showing if any?
0
 
LVL 3

Accepted Solution

by:
gs121 earned 2000 total points
ID: 33650331
Had to run a cmd utlilty in the past, this worked for me.
Place the entire cmd including variables into a single variable  ($d) and then execute a cmd.
in my example the exe was exchmbx, I had it in a foreach statement to do an array of users.
basicly I turn the entire statement into text and sent it to a command prompt.

$d = "exchmbx $b $userdn -move mmcexchange:$loc"
   #Write-Host $d  to see command line
   #execute command below
cmd /c $d
0
 

Author Comment

by:thenthorn1010
ID: 33651399
I am trying to run this from a command line script.
0

Featured Post

Get quick recovery of individual SharePoint items

Free tool – Veeam Explorer for Microsoft SharePoint, enables fast, easy restores of SharePoint sites, documents, libraries and lists — all with no agents to manage and no additional licenses to buy.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Windows 10 came with  a lot of built in applications, Some organisations leave them there, some will control them using GPO's. This Article is useful for those who do not want to have any applications in their image (example:me).
A project that enables an administrator to perform actions within a user session context not just at the time of login but any time later on day(s) or week(s) later.
Exchange organizations may use the Journaling Agent of the Transport Service to archive messages going through Exchange. However, if the Transport Service is integrated with some email content management application (such as an antispam), the admini…
Loops Section Overview

829 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question