Invoke-vmscript diskextend问题

问题描述 投票:0回答:1

[尝试运行我的脚本时,出现以下错误消息。

脚本:

$extenddisk= @"



$letter = Get-WmiObject -Class Win32_CDROMDrive | select -ExpandProperty Drive
Set-WmiInstance -InputObject ( Get-WmiObject -Class Win32_volume -Filter "DriveLetter = '$letter'" ) -Arguments @{DriveLetter='Z:'} 

$newdisk = @(get-disk | Where-Object partitionstyle -eq 'raw')

for($i = 0; $i -lt $newdisk.Count ; $i++)

{



  $disknum = $newdisk[$i].Number

  $dl = get-Disk $disknum |

  Initialize-Disk -PartitionStyle GPT -PassThru |

  New-Partition -AssignDriveLetter -UseMaximumSize

  Format-Volume -driveletter $dl.Driveletter -FileSystem NTFS -Confirm:$false



}



"@


Invoke-VMScript -ScriptText $extenddisk -VM $vm -GuestCredential $VMLocalCredential -ScriptType Powershell

错误:

WARNING: The version of VMware Tools on VM 'Hostname' is out of date and may cause Invoke-VMScript to work improperly.











ScriptOutput

-----------------------------------------------------------------------------------------------------------------------|  At line:9 char:27

|  + for( = 0;  -lt .Count ; ++)

|  +                           ~

|  Missing expression after unary operator '++'.

|      + CategoryInfo          : ParserError: (:) [], ParentContainsErrorRecordException

|      + FullyQualifiedErrorId : MissingExpressionAfterOperator

|  

| 

-----------------------------------------------------------------------------------------------------------------------
powershell vmware powercli
1个回答
0
投票

当您在此处字符串中使用"(双引号)时,PowerShell将尝试在其内容中扩展所有变量和包含的子表达式。使用'(单引号)代替:

$extenddisk = @'
...
'@
© www.soinside.com 2019 - 2024. All rights reserved.