Indice del forum Olimpo Informatico
I Forum di Zeus News
Leggi la newsletter gratuita - Attiva il Menu compatto
 
 FAQFAQ   CercaCerca   Lista utentiLista utenti   GruppiGruppi   RegistratiRegistrati 
 ProfiloProfilo   Messaggi privatiMessaggi privati   Log inLog in 

    Newsletter RSS Facebook Twitter Contatti Ricerca
[PS] Powershell e programma dos con parametri
Nuovo argomento   Rispondi    Indice del forum -> Programmazione
Precedente :: Successivo  
Autore Messaggio
balubeto
Dio minore
Dio minore


Registrato: 19/05/06 08:22
Messaggi: 757

MessaggioInviato: 15 Dic 2011 12:23    Oggetto: [PS] Powershell e programma dos con parametri Rispondi citando

Se in un script .ps1 scrivo:

Codice:

Start-Process -FilePath "C:\Program Files (x86)\VMware\VMware Workstation\vmware-vdiskmanager.exe" -ArgumentList "-r D:\Users\Public\Documents\Virtual Machines\VM_template\VM_Windows_7_template\VM_Windows_7_template.vmdk -t 0 D:\Users\Public\Documents\VM_Windows_7_template.vmdk" -RedirectStandardOutput 'D:\Users\Public\Documents\output.txt'


tale utility mi mette in output.txt:

Codice:

VMware Virtual Disk Manager - build 528992.
Usage: vmware-vdiskmanager.exe OPTIONS <disk-name> | <mount-point>
Offline disk manipulation utility
  Operations, only one may be specified at a time:
     -c                   : create disk.  Additional creation options must
                            be specified.  Only local virtual disks can be
                            created.
     -d                   : defragment the specified virtual disk. Only
                            local virtual disks may be defragmented.
     -k                   : shrink the specified virtual disk. Only local
                            virtual disks may be shrunk.
     -n <source-disk>     : rename the specified virtual disk; need to
                            specify destination disk-name. Only local virtual
                            disks may be renamed.
     -p                   : prepare the mounted virtual disk specified by
                            the mount point for shrinking.
     -r <source-disk>     : convert the specified disk; need to specify
                            destination disk-type.  For local destination disks
                            the disk type must be specified.
     -x <new-capacity>    : expand the disk to the specified capacity. Only
                            local virtual disks may be expanded.
     -R                   : check a sparse virtual disk for consistency and attempt
                            to repair any errors.
     -e                   : check for disk chain consistency.
     -D                   : make disk deletable.  This should only be used on disks
                            that have been copied from another product.

  Other Options:
     -q                   : do not log messages

  Additional options for create and convert:
     -a <adapter>         : (for use with -c only) adapter type
                            (ide, buslogic, lsilogic). Pass lsilogic for other adapter types.
     -s <size>            : capacity of the virtual disk
     -t <disk-type>       : disk type id

  Disk types:
      0                   : single growable virtual disk
      1                   : growable virtual disk split in 2GB files
      2                   : preallocated virtual disk
      3                   : preallocated virtual disk split in 2GB files
      4                   : preallocated ESX-type virtual disk
      5                   : compressed disk optimized for streaming
      6                   : thin provisioned virtual disk - ESX 3.x and above

     The capacity can be specified in sectors, KB, MB or GB.
     The acceptable ranges:
                           ide adapter : [1MB, 2040.0GB]
                           scsi adapter: [1MB, 2040.0GB]
        ex 1: vmware-vdiskmanager.exe -c -s 850MB -a ide -t 0 myIdeDisk.vmdk
        ex 2: vmware-vdiskmanager.exe -d myDisk.vmdk
        ex 3: vmware-vdiskmanager.exe -r sourceDisk.vmdk -t 0 destinationDisk.vmdk
        ex 4: vmware-vdiskmanager.exe -x 36GB myDisk.vmdk
        ex 5: vmware-vdiskmanager.exe -n sourceName.vmdk destinationName.vmdk
        ex 6: vmware-vdiskmanager.exe -r sourceDisk.vmdk -t 4 -h esx-name.mycompany.com \
              -u username -f passwordfile "[storage1]/path/to/targetDisk.vmdk"
        ex 7: vmware-vdiskmanager.exe -k myDisk.vmdk
        ex 8: vmware-vdiskmanager.exe -p <mount-point>
              (A virtual disk first needs to be mounted at <mount-point>)




Mentre se, dal Prompt dei comandi, scrivo:

Codice:


"C:\Program Files (x86)\VMware\VMware Workstation\vmware-vdiskmanager.exe" -r "D:\Users\Public\Documents\Virtual Machines\VM_template\VM_Windows_7_template\VM_Windows_7_template.vmdk" -t 0 "D:\Users\Public\Documents\VM_Windows_7_template.vmdk"


questa utility fa il suo dovere.

Come mai?

GRAZIE

CIAO
Top
Profilo Invia messaggio privato
balubeto
Dio minore
Dio minore


Registrato: 19/05/06 08:22
Messaggi: 757

MessaggioInviato: 15 Dic 2011 18:06    Oggetto: Rispondi

Ho scritto lo script:

Codice:

# Script che converte un disco virtuale da Flat a Sparse di una macchina virtuale.

# Parametri da inserire in una riga di comando:

# $PathVMFlat                         Variabile che contiene il path di una VM di tipo Flat.
# $VMNameFlat                         Variabile che contiene il nome di una VM di tipo Flat.
# $PathVMSparse                       Variabile che contiene il path di una VM di tipo Sparse.
# $VMNameSparse                       Variabile che contiene il nome di una VM di tipo Sparse.

# param($PathVMFlat,$VMNameFlat,$PathVMSparse,$VMNameSparse)

$FlatSparseDisk = '"C:\Program Files (x86)\VMware\VMware Workstation\vmware-vdiskmanager.exe" ' +  "-r " + $PathVMFlat + '\' + $VMNameFlat + ".vmdk -t 0 " + $PathVMSparse + '\' + $VMNameSparse + ".vmdk"

invoke-expression $FlatSparseDisk


ma, quando lo eseguo, ottengo:

Codice:

D:\Users\Balubeto_Balubeto>powershell -ExecutionPolicy Unrestricted -file "D:\Us
ers\Public\Documents\Flat-Sparse_disk_VM.ps1" "D:\Users\Public\Documents\Virtual
 Machines\VM_template\VM_Windows_7_template" "VM_Windows_7_template.vmdk" "D:\Us
ers\Public\Documents" "VM_Windows_7_template.vmdk"
Invoke-Expression : Specificare un'espressione di valore sul lato destro dell'o
peratore '-'.
In D:\Users\Public\Documents\Flat-Sparse_disk_VM.ps1:14 car:18
+ invoke-expression <<<<  $FlatSparseDisk
    + CategoryInfo          : ParserError: (:) [Invoke-Expression], ParseExcep
   tion
    + FullyQualifiedErrorId : ExpectedValueExpression,Microsoft.PowerShell.Com
   mands.InvokeExpressionCommand


D:\Users\Balubeto_Balubeto>


Dove sbaglio?

GRAZIE

CIAO
Top
Profilo Invia messaggio privato
Mostra prima i messaggi di:   
Nuovo argomento   Rispondi    Indice del forum -> Programmazione Tutti i fusi orari sono GMT + 1 ora
Pagina 1 di 1

 
Vai a:  
Non puoi inserire nuovi argomenti
Non puoi rispondere a nessun argomento
Non puoi modificare i tuoi messaggi
Non puoi cancellare i tuoi messaggi
Non puoi votare nei sondaggi