Need help writing a Powershell script to automate a silent install of Avamar Client on multiple machines










2














I am writing a Powershell script to automate a silent install of Avamar Client on multiple machines.



Here is the script that I have written so far, but it keeps coming up with errors:



#Variables
$computername=Get-Content C:PSdeploylist.txt
$sourcefile= "\mydomain.orgpublicAvamarClient-windows-x86_64-7.1.100-370.msi"
$credentials = Get-Credential
#This section will install the software
foreach ($computer in $computername)

$destinationFolder = "\$computerC$Temp"
#This section will copy the $sourcefile to the $destinationFolder. If the Folder does not exist it will create it.
if (!(Test-Path -path $destinationFolder))

New-Item $destinationfolder -Type Directory

Copy-Item -Path $sourcefile -Destination $destinationFolder
Invoke-Command -ComputerName $computer -ScriptBlock Start-Process 'c:tempAvamarClient-windows-x86_64-7.1.100-370.msi' -ArgumentList msiexec /I -credential $creds



Here is the error that I get:



PS C:Usersn1254937> C:UsersmyuseridDesktopAvamarClient remote install.ps1
cmdlet Get-Credential at command pipeline position 1
Supply values for the following parameters:
A positional parameter cannot be found that accepts argument '/I'.
+ CategoryInfo : InvalidArgument: (:) [Start-Process], ParameterBindingException
+ FullyQualifiedErrorId : PositionalParameterNotFound,Microsoft.PowerShell.Commands.StartProcessCommand
+ PSComputerName : test.mydomain.org


What am I doing wrong?










share|improve this question
















bumped to the homepage by Community♦ yesterday


This question has answers that may be good or bad; the system has marked it active so that they can be reviewed.



















    2














    I am writing a Powershell script to automate a silent install of Avamar Client on multiple machines.



    Here is the script that I have written so far, but it keeps coming up with errors:



    #Variables
    $computername=Get-Content C:PSdeploylist.txt
    $sourcefile= "\mydomain.orgpublicAvamarClient-windows-x86_64-7.1.100-370.msi"
    $credentials = Get-Credential
    #This section will install the software
    foreach ($computer in $computername)

    $destinationFolder = "\$computerC$Temp"
    #This section will copy the $sourcefile to the $destinationFolder. If the Folder does not exist it will create it.
    if (!(Test-Path -path $destinationFolder))

    New-Item $destinationfolder -Type Directory

    Copy-Item -Path $sourcefile -Destination $destinationFolder
    Invoke-Command -ComputerName $computer -ScriptBlock Start-Process 'c:tempAvamarClient-windows-x86_64-7.1.100-370.msi' -ArgumentList msiexec /I -credential $creds



    Here is the error that I get:



    PS C:Usersn1254937> C:UsersmyuseridDesktopAvamarClient remote install.ps1
    cmdlet Get-Credential at command pipeline position 1
    Supply values for the following parameters:
    A positional parameter cannot be found that accepts argument '/I'.
    + CategoryInfo : InvalidArgument: (:) [Start-Process], ParameterBindingException
    + FullyQualifiedErrorId : PositionalParameterNotFound,Microsoft.PowerShell.Commands.StartProcessCommand
    + PSComputerName : test.mydomain.org


    What am I doing wrong?










    share|improve this question
















    bumped to the homepage by Community♦ yesterday


    This question has answers that may be good or bad; the system has marked it active so that they can be reviewed.

















      2












      2








      2







      I am writing a Powershell script to automate a silent install of Avamar Client on multiple machines.



      Here is the script that I have written so far, but it keeps coming up with errors:



      #Variables
      $computername=Get-Content C:PSdeploylist.txt
      $sourcefile= "\mydomain.orgpublicAvamarClient-windows-x86_64-7.1.100-370.msi"
      $credentials = Get-Credential
      #This section will install the software
      foreach ($computer in $computername)

      $destinationFolder = "\$computerC$Temp"
      #This section will copy the $sourcefile to the $destinationFolder. If the Folder does not exist it will create it.
      if (!(Test-Path -path $destinationFolder))

      New-Item $destinationfolder -Type Directory

      Copy-Item -Path $sourcefile -Destination $destinationFolder
      Invoke-Command -ComputerName $computer -ScriptBlock Start-Process 'c:tempAvamarClient-windows-x86_64-7.1.100-370.msi' -ArgumentList msiexec /I -credential $creds



      Here is the error that I get:



      PS C:Usersn1254937> C:UsersmyuseridDesktopAvamarClient remote install.ps1
      cmdlet Get-Credential at command pipeline position 1
      Supply values for the following parameters:
      A positional parameter cannot be found that accepts argument '/I'.
      + CategoryInfo : InvalidArgument: (:) [Start-Process], ParameterBindingException
      + FullyQualifiedErrorId : PositionalParameterNotFound,Microsoft.PowerShell.Commands.StartProcessCommand
      + PSComputerName : test.mydomain.org


      What am I doing wrong?










      share|improve this question















      I am writing a Powershell script to automate a silent install of Avamar Client on multiple machines.



      Here is the script that I have written so far, but it keeps coming up with errors:



      #Variables
      $computername=Get-Content C:PSdeploylist.txt
      $sourcefile= "\mydomain.orgpublicAvamarClient-windows-x86_64-7.1.100-370.msi"
      $credentials = Get-Credential
      #This section will install the software
      foreach ($computer in $computername)

      $destinationFolder = "\$computerC$Temp"
      #This section will copy the $sourcefile to the $destinationFolder. If the Folder does not exist it will create it.
      if (!(Test-Path -path $destinationFolder))

      New-Item $destinationfolder -Type Directory

      Copy-Item -Path $sourcefile -Destination $destinationFolder
      Invoke-Command -ComputerName $computer -ScriptBlock Start-Process 'c:tempAvamarClient-windows-x86_64-7.1.100-370.msi' -ArgumentList msiexec /I -credential $creds



      Here is the error that I get:



      PS C:Usersn1254937> C:UsersmyuseridDesktopAvamarClient remote install.ps1
      cmdlet Get-Credential at command pipeline position 1
      Supply values for the following parameters:
      A positional parameter cannot be found that accepts argument '/I'.
      + CategoryInfo : InvalidArgument: (:) [Start-Process], ParameterBindingException
      + FullyQualifiedErrorId : PositionalParameterNotFound,Microsoft.PowerShell.Commands.StartProcessCommand
      + PSComputerName : test.mydomain.org


      What am I doing wrong?







      script powershell






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited Apr 2 '15 at 21:56









      DavidPostill♦

      103k25223257




      103k25223257










      asked Apr 2 '15 at 21:50









      nick

      1112




      1112





      bumped to the homepage by Community♦ yesterday


      This question has answers that may be good or bad; the system has marked it active so that they can be reviewed.







      bumped to the homepage by Community♦ yesterday


      This question has answers that may be good or bad; the system has marked it active so that they can be reviewed.






















          1 Answer
          1






          active

          oldest

          votes


















          0














          The definition for -ArgumentList is <String>, which is an array of strings.



          As-is, it's seeing it as -ArgumentList msiexec, followed by /I which isn't a valid argument for Start-Process.



          To specify multiple arguments you need to provide them as an array of strings, which can be written as a comma-separated list in PowerShell. So to specify your two arguments you'd use -ArgumentList 'msiexec','/I'.



          Having said that, I don't believe it will work even if you make that correction. As-is, you're telling it to run the .MSI file, and feeding the .MSI file two arguments: msiexec and /I.



          What you should be aiming to do is start msiexec, specifying the .MSI file and the /I as arguments for msiexec.



          So try something like:



          Start-Process 'msiexec' -ArgumentList 'c:tempAvamarClient-windows-x86_64-7.1.100-370.msi','/I'


          Or just:



          Start-Process 'msiexec' 'c:tempAvamarClient-windows-x86_64-7.1.100-370.msi','/I'


          ...since -ArgumentList is actually optional (like -FilePath is).






          share|improve this answer




















            Your Answer








            StackExchange.ready(function()
            var channelOptions =
            tags: "".split(" "),
            id: "3"
            ;
            initTagRenderer("".split(" "), "".split(" "), channelOptions);

            StackExchange.using("externalEditor", function()
            // Have to fire editor after snippets, if snippets enabled
            if (StackExchange.settings.snippets.snippetsEnabled)
            StackExchange.using("snippets", function()
            createEditor();
            );

            else
            createEditor();

            );

            function createEditor()
            StackExchange.prepareEditor(
            heartbeatType: 'answer',
            autoActivateHeartbeat: false,
            convertImagesToLinks: true,
            noModals: true,
            showLowRepImageUploadWarning: true,
            reputationToPostImages: 10,
            bindNavPrevention: true,
            postfix: "",
            imageUploader:
            brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
            contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
            allowUrls: true
            ,
            onDemand: true,
            discardSelector: ".discard-answer"
            ,immediatelyShowMarkdownHelp:true
            );



            );













            draft saved

            draft discarded


















            StackExchange.ready(
            function ()
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fsuperuser.com%2fquestions%2f897265%2fneed-help-writing-a-powershell-script-to-automate-a-silent-install-of-avamar-cli%23new-answer', 'question_page');

            );

            Post as a guest















            Required, but never shown

























            1 Answer
            1






            active

            oldest

            votes








            1 Answer
            1






            active

            oldest

            votes









            active

            oldest

            votes






            active

            oldest

            votes









            0














            The definition for -ArgumentList is <String>, which is an array of strings.



            As-is, it's seeing it as -ArgumentList msiexec, followed by /I which isn't a valid argument for Start-Process.



            To specify multiple arguments you need to provide them as an array of strings, which can be written as a comma-separated list in PowerShell. So to specify your two arguments you'd use -ArgumentList 'msiexec','/I'.



            Having said that, I don't believe it will work even if you make that correction. As-is, you're telling it to run the .MSI file, and feeding the .MSI file two arguments: msiexec and /I.



            What you should be aiming to do is start msiexec, specifying the .MSI file and the /I as arguments for msiexec.



            So try something like:



            Start-Process 'msiexec' -ArgumentList 'c:tempAvamarClient-windows-x86_64-7.1.100-370.msi','/I'


            Or just:



            Start-Process 'msiexec' 'c:tempAvamarClient-windows-x86_64-7.1.100-370.msi','/I'


            ...since -ArgumentList is actually optional (like -FilePath is).






            share|improve this answer

























              0














              The definition for -ArgumentList is <String>, which is an array of strings.



              As-is, it's seeing it as -ArgumentList msiexec, followed by /I which isn't a valid argument for Start-Process.



              To specify multiple arguments you need to provide them as an array of strings, which can be written as a comma-separated list in PowerShell. So to specify your two arguments you'd use -ArgumentList 'msiexec','/I'.



              Having said that, I don't believe it will work even if you make that correction. As-is, you're telling it to run the .MSI file, and feeding the .MSI file two arguments: msiexec and /I.



              What you should be aiming to do is start msiexec, specifying the .MSI file and the /I as arguments for msiexec.



              So try something like:



              Start-Process 'msiexec' -ArgumentList 'c:tempAvamarClient-windows-x86_64-7.1.100-370.msi','/I'


              Or just:



              Start-Process 'msiexec' 'c:tempAvamarClient-windows-x86_64-7.1.100-370.msi','/I'


              ...since -ArgumentList is actually optional (like -FilePath is).






              share|improve this answer























                0












                0








                0






                The definition for -ArgumentList is <String>, which is an array of strings.



                As-is, it's seeing it as -ArgumentList msiexec, followed by /I which isn't a valid argument for Start-Process.



                To specify multiple arguments you need to provide them as an array of strings, which can be written as a comma-separated list in PowerShell. So to specify your two arguments you'd use -ArgumentList 'msiexec','/I'.



                Having said that, I don't believe it will work even if you make that correction. As-is, you're telling it to run the .MSI file, and feeding the .MSI file two arguments: msiexec and /I.



                What you should be aiming to do is start msiexec, specifying the .MSI file and the /I as arguments for msiexec.



                So try something like:



                Start-Process 'msiexec' -ArgumentList 'c:tempAvamarClient-windows-x86_64-7.1.100-370.msi','/I'


                Or just:



                Start-Process 'msiexec' 'c:tempAvamarClient-windows-x86_64-7.1.100-370.msi','/I'


                ...since -ArgumentList is actually optional (like -FilePath is).






                share|improve this answer












                The definition for -ArgumentList is <String>, which is an array of strings.



                As-is, it's seeing it as -ArgumentList msiexec, followed by /I which isn't a valid argument for Start-Process.



                To specify multiple arguments you need to provide them as an array of strings, which can be written as a comma-separated list in PowerShell. So to specify your two arguments you'd use -ArgumentList 'msiexec','/I'.



                Having said that, I don't believe it will work even if you make that correction. As-is, you're telling it to run the .MSI file, and feeding the .MSI file two arguments: msiexec and /I.



                What you should be aiming to do is start msiexec, specifying the .MSI file and the /I as arguments for msiexec.



                So try something like:



                Start-Process 'msiexec' -ArgumentList 'c:tempAvamarClient-windows-x86_64-7.1.100-370.msi','/I'


                Or just:



                Start-Process 'msiexec' 'c:tempAvamarClient-windows-x86_64-7.1.100-370.msi','/I'


                ...since -ArgumentList is actually optional (like -FilePath is).







                share|improve this answer












                share|improve this answer



                share|improve this answer










                answered Apr 3 '15 at 0:56









                Ƭᴇcʜιᴇ007

                98.7k14155212




                98.7k14155212



























                    draft saved

                    draft discarded
















































                    Thanks for contributing an answer to Super User!


                    • Please be sure to answer the question. Provide details and share your research!

                    But avoid …


                    • Asking for help, clarification, or responding to other answers.

                    • Making statements based on opinion; back them up with references or personal experience.

                    To learn more, see our tips on writing great answers.





                    Some of your past answers have not been well-received, and you're in danger of being blocked from answering.


                    Please pay close attention to the following guidance:


                    • Please be sure to answer the question. Provide details and share your research!

                    But avoid …


                    • Asking for help, clarification, or responding to other answers.

                    • Making statements based on opinion; back them up with references or personal experience.

                    To learn more, see our tips on writing great answers.




                    draft saved


                    draft discarded














                    StackExchange.ready(
                    function ()
                    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fsuperuser.com%2fquestions%2f897265%2fneed-help-writing-a-powershell-script-to-automate-a-silent-install-of-avamar-cli%23new-answer', 'question_page');

                    );

                    Post as a guest















                    Required, but never shown





















































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown

































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown







                    Popular posts from this blog

                    Top Tejano songwriter Luis Silva dead of heart attack at 64

                    ReactJS Fetched API data displays live - need Data displayed static

                    Evgeni Malkin