Trenger du hjelp i denne Visual Basic-skript: lansere et program i stille modus

stemmer
0

Jeg prøver å starte et program i stille modus, for å installere et bestemt program. Kommandolinjen for å starte installasjonen i stille modus er som følger:

setup.exe /s /v /q

Jeg prøvde å bruke følgende: strCmd=C:\setup.exe /s /v /q

Men selvsagt dette ikke fungerer. Kan noen hjelpe meg med å skrive riktig syntaks. Jeg vet at det er noe galt med sitater som en flukt karakter. Jeg har kastet bort mye tid på å prøve å finne ut av. Alle hjelpe er høyt verdsatt.

Publisert på 12/09/2014 klokken 03:11
kilden bruker
På andre språk...                            


2 svar

stemmer
1

Fra kommentarene er det bestemt riktig installere streng. For VBS, kan du kjøre den (på maskinen):

Dim oShell
Set oShell = WScript.CreateObject ("WScript.Shell")
oShell.run "cmd /C C:\setup.exe /s /v""/qn"""
Set oShell = Nothing

Hvis du ikke ønsker å bruke GPO å distribuere, kan du også presse installere oppgaven til datamaskiner manuelt med PSEXEC.EXE, det krever ikke setup.exe å være på datamaskinen og en nettverksressurs mappen er god for dette.

Svarte 12/09/2014 kl. 05:28
kilden bruker

stemmer
0

Hvis du ønsker å kjøre kommandoen ved hjelp av ulike legitimasjon, kan du bruke RunAskommandoen. Ting kan bli vanskelig når embedding kommando i RunAskommando, imidlertid. Disse trinnene kan hjelpe:

  1. Finne den riktige kommandolinjen syntaks. Teste dette direkte ved ledeteksten for å sikre at det er riktig.

    c:\setup.exe /s /v"/qn"
    
  2. Embed kommando i RunAskommando. Hele kommandoen må være omgitt med anførselstegn. I tillegg til noen sitater i din kommando må rømte med \. Igjen, teste dette direkte ved ledeteksten for å sikre at det er riktig.

    runas.exe /user:DOMAIN\USER "c:\setup.exe /s /v\"/qn\""
    
  3. Konvertere hele kommandostrengen til VBScript. Uansett hvor du ser et tilbud, doble det, eller erstatte den med Chr(34). Her er hvordan det vil se ut når sitatene er doblet:

    runas.exe /user:DOMAIN\USER ""c:\setup.exe /s /v\""/qn\""""
    
  4. Tilordne den til en VBScript variabel. Vi trenger bare å sette ekstra anførselstegn rundt hele kommandoen:

    strCommand = "runas.exe /user:DOMAIN\USER ""c:\setup.exe /s /v\""/qn\"""""
    
  5. Nå er du klar til å gå. Du kan kjøre dette direkte med Shell.Run:

    With CreateObject("WScript.Shell")
        .Run strCommand
    End With
    

Merk at du fortsatt må bruke SendKeysnår RunAsdu blir bedt om passord, da det gir ingen måte å passere det på kommandolinjen.

En alternativ metode er å bruke SCHTASKSfor å planlegge en engangs oppgave som skal kjøres umiddelbart. Med SCHTASKS, du kan passere den fullstendige legitimasjon på kommandolinjen.

Svarte 12/09/2014 kl. 13:10
kilden bruker

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more