c盘清理的步骤是什么(如何清理C盘空间)
如何清理C盘空间怎么清理C盘的垃圾文件?每天上网会给电脑带来很多临时文件,这些垃圾文件不清理掉时间久了就会影响到电脑的运行速度。那怎
2022/12/08
(资料图)
需要实现通过Powershell脚本给VMware虚拟机批量挂载磁盘并且初始化需要满足如下要求。
1 Windows系统上需要导入VMware Powershell模块。建议导入用户个人Powershell模块目录下。
#Powershell模块版本名称为:VMware-PowerCLI-13.0.0-20829139.zip 需要解压后把解压内容放置到如下创建Modules目录下。PS C:\Users\dengpeng> $env:PSModulePath #查看路径C:\Users\dengpeng\Documents\WindowsPowerShell\Modules;C:\Program Files\WindowsPowerShell\Modules;C:\Windows\system32\WindowsPowerShell\v1.0\Modules#根据如上输出结果,\WindowsPowerShell\Modules需要在Documents目录下创建。#输入命令 Set-PowerCLIConfiguration -Scope User -ParticipateInCEIP $True#输入命令导入模块 Import-Module VMware.PowerCLI 即可导入成功
2 虚拟机都需要安装VMTloos工具才行。
具体Powershell脚本内容如下。
param( [Parameter(Mandatory=$true, HelpMessage="The Name prefix of Citrix virtual machine", Position=0)] [string] $vmprefix, [Parameter(Mandatory=$true, HelpMessage="The number of the fisrt virtual machine", Position=1)] [int] $startnum, [Parameter(Mandatory=$true, HelpMessage="The number of the last virtual machine", Position=2)] [int] $endnum, [Parameter(Mandatory=$true, HelpMessage="The number of the last virtual machine", Position=2)] [int] $diskszie )#the script to initilize D drive in virtual machine#Get-Partition -DriveLetter "E" | Set-Partition -NewDriveLetter "P" |Out-Null$script = @"Get-Disk | Where PartitionStyle -eq "raw" | Initialize-Disk -PartitionStyle GPT -PassThru | New-Partition -UseMaximumSize -AssignDriveLetter | Format-Volume -FileSystem NTFS -NewFileSystemLabel "个人数据盘""@#######################################################################################VC$VC_IP="176.10.10.10" #vCenter登录IP$VC_USER="administrator@vsphere.local" #vCenter登录用户名$VC_PWD="password" #vCenter登录密码#$DataStore="Local-01" #指定存储添加磁盘,若跟虚拟机存储位置保值一致,注释掉即可。#window$GuestUser="administrator" #添加磁盘虚拟机本地管理员账号$GuestPassword="password" #密码#$diskszie=""#disk$diskcounts="2" #1代表未添加磁盘前,系统磁盘数量。MCS批量发布后,默认两块#######################################################################################the file to save virtual machine uuid to activate Chrome$datevalue = get-date -Format "yyyyMMddHHmm"#$filename = "C:\Users\citrixadmin\Desktop\VM-disk\" + $datevalue + "chrome.csv"echo "Serial Number (mandatory),Asset Tag" > $filenameif ( $startnum -le $endnum ) { #Connect-VIServer hk-hco-vcsa-01 $VC = connect-viserver -server $VC_IP -user $VC_USER -password $VC_PWD for($i = $startnum; $i -le $endnum; $i++) { $vmname = $vmprefix + "{0:d3}" -f $i #表示虚拟机名称最后几位数例如CVAD-VDI-### 代表3 $nu = "{0:d3}" -f $i #表示虚拟机名称最后几位数例如CVAD-VDI-### 代表3 $Exists = get-vm -name $vmname -ErrorAction SilentlyContinue If ($Exists) { $vmuuid = (get-vm -Name $vmname | Get-VIew).config.uuid $vmuuid = $vmuuid.replace("-", "") $uuidlen = ${vmuuid}.length $result = "VMware-" for ($a = 0; $a -le $uuidlen; $a = $a + 2) { if ($a -eq 14) { $middle = "-" } elseif ($a -eq 30) { $middle = "," + $vmname } else { $middle = " " } $result = $result + $vmuuid[$a] + $vmuuid[$a + 1] + $middle } echo ${result} >> $filename $diskcount = (Get-HardDisk -vm $vmname).count if ($diskcount -eq $diskcounts) { #$dsname = (Get-HardDisk -vm $vmname | Get-Datastore).Name #New-HardDisk -VM $vmname -CapacityGB $diskszie -StorageFormat Thin -DataStore $DataStore |Out-Null #数据盘和系统不同存储 New-HardDisk -VM $vmname -CapacityGB 20 -StorageFormat Thin | Out-Null #数据盘和系统同一存储 $OSversion = (get-vm -Name $vmname | Get-view).config.GuestFullName if ( $OSversion -like "*Windows*") { $vm = Get-VM -Name $vmname if ($vm.PowerState -eq "PoweredOff") { Start-VM -VM $vm -Confirm:$false Start-Sleep -s 60 } #Invoke-VMScript -ScriptText $script -VM $vmname -GuestUser $GuestUser -GuestPassword $GuestPassword -ScriptType PowerShell |Out-Null Invoke-VMScript -ScriptText $script -VM $vmname -Server $VC_IP -ScriptType PowerShell Start-Sleep -s 2 Write-Host [1] VM数据盘添加列表: -ForegroundColor Green Write-Host ${vmname} 添加数据盘完成 -ForegroundColor Green } } else { Write-Host [2] VM数据盘已完成列表: -ForegroundColor Green #echo "Please check if the virtual machine ${vmname} is with 200 GB drive, or you can add the disk manually." Write-Host ${vmname} 已完成数据盘完成 } } else { #echo "${vmname} does not exist" #Write-Host [3] VM 列表: -ForegroundColor Green Write-Host $nu ${vmname} 没有查询到 -ForegroundColor Red } }}else { echo "The start number should be less than end number!"}
运行显示效果如下,表示虚拟机前缀为CVAD-VDI- 最后表示三位### 在脚本里面已经设置。设置开始位数和结束位数即可执行。重复添加也无影响,脚本已经做了相应判断,已添加磁盘会自动略过。200为磁盘容量,默认GB为单位。