Я запускаю сценарий PowerShell, чтобы получить информацию о сервере из vSphere и вставить ее в SQL Server.Некоторые пользователи vSphere используют строки возврата в поле Notes.Это может раздражать, поэтому я попытался заменить разрывы строк на ',' следующим образом:
$Report.Notes = $VM | Select-Object -ExpandProperty Notes | Foreach-Object {$_ -Replace "`r", ", "}
Сценарий завершает работу и создает файл .csv со списком серверов с несколькими полями.
Далее я хочу удалить "" вокруг полей в csv перед вставкой в SQL Server, поэтому я запускаю это как отдельный скрипт:
${C:\Temp\VMReport.csv} = ${C:\Temp\VMReport.csv} -replace '"'
После того, как я запустил это, разрывы строквернулись в поле для заметок.
Очевидно, что я немного новичок в PowerShell. Может кто-нибудь сказать мне, почему это происходит и как это исправить?
Для запроса, вот ещекод, который я использую: ~
$Report = "" | Select-Object VMname,Host,ClusterName,Powerstate,MemoryGB,vCPUcount,IPaddresses,TotalVmdkSizeGB,DiskFree,DiskUsed,DatastoreName,NumCpuShares,NumMemShares,SnapshotCount,GuestOS,Notes
$Report.VMName = $VM.name
$Report.Host = $vm.VMHost.name
$Report.ClusterName = ($VM | Get-Cluster).Name
$Report.Powerstate = $vm.Powerstate
$Report.MemoryGB = $VM.MemoryMB/1KB
$Report.vCPUcount = $VM.NumCpu
$Report.IPaddresses = [string]::Join(',',$VM.Guest.IPAddress)
$Report.TotalVmdkSizeGB = $TotalHardDisksSizeGB
$Report.DiskFree = [Math]::Round((($vm.Guest.Disks | Measure-Object -Property FreeSpace -Sum).Sum / 1GB),2)
$Report.DiskUsed = $Report.TotalVmdkSizeGB - $Report.DiskFree
$Report.DatastoreName = [string]::Join(',',($VMview.Config.DatastoreUrl | %{$_.Name}))
$Report.NumCpuShares = $VMResourceConfiguration.NumCPUShares
$Report.NumMemShares = $VMResourceConfiguration.NumMemShares
$Report.SnapshotCount = (@($VM | Get-Snapshot)).Count
$Report.GuestOS = $VM.Guest.OSFullName
$Report.Notes = $VM | Select-Object -ExpandProperty Notes | Foreach-Object {$_ -Replace "`r", ", "}
$allLines += $Report
$allLines | Export-Csv $CSVOutputFile -Delimiter '*' -NoTypeInformation