解析变量Powershell
我有一个简单的脚本,我想向我展示一些结果,但以虚拟机的名义,我只想讲第一点,其他所有内容都剩下了,因为它会产生很多噪音解析变量Powershell,powershell,powershell-4.0,Powershell,Powershell 4.0,我有一个简单的脚本,我想向我展示一些结果,但以虚拟机的名义,我只想讲第一点,其他所有内容都剩下了,因为它会产生很多噪音 $today = (get-date).Date $backup = Get-VBRBackup | where {$_.info.jobname -eq "A. ProduccionInterna.Infraestructura Backup Copy"} if ($backup) { $backup.GetAllStorages() | where {$_.Creation
$today = (get-date).Date
$backup = Get-VBRBackup | where {$_.info.jobname -eq "A. ProduccionInterna.Infraestructura Backup Copy"}
if ($backup) {
$backup.GetAllStorages() | where {$_.CreationTime.Date -eq $today} | select @{Name="Nombre de la VM"; Expression={$_.PartialPath[0]}}, @{Name="Size VM"; Expression={$_.Stats.BackupSize/1GB}} , @{Name="Deduplicacion"; Expression={$Session.BackupStats.DedupRatio/10}} , @{Name="Compress Ratio"; Expression={$Session.BackupStats.CompressRatio/10}} , @{Name="Fecha"; Expression={(get-date).Date}}
}
结果:
f5downinxn.vm-37087D2020-02-21T030000_B816.vib
但是,我不会:
f5downinxn
进入的链条似乎不起作用
[0]
我也试过了
(".")[1]
编辑
使用我的代码:
Nombre de la VM : f5downinxn.vm-37087D2020-02-21T030000_B816.vib
更改如下:
代码
尝试在您的
选择对象
中执行此操作,您当前仅返回$\uu.PartialPath
作为VM名称:
$_.PartialPath.Split('.')[0]
这应该将
字符上的PartialPath
属性的内容拆分为字符串数组,然后返回第一个字符串
请注意,如果
PartialPath
包含没有
的字符串,则可能会出现错误,因为拆分将不会生成数组,并且[0]
的使用将无效。.PartialPath
属性是Veeam.Backup.Common.CPartialPath
对象。表格输出正在执行一些字符串转换魔术,但底层对象不是字符串。但是,Veeam.Backup.Common.CPartialPath
有一个ToString()
重写方法,该方法应使此任务更容易完成
Select @{Name="Nombre de la VM"; Expression={$_.PartialPath.ToString().Split('.')[0]}}
请编辑您的问题,向我们展示您所做的更改。好的,我做了更改。我想看看您的更新脚本。但是,也许我们错误地认为您将
[0]
添加到此中,并且它不起作用$\uuu.PartialPath[0]
。在这种情况下,请尝试此$\u.PartialPath[0]。拆分('..')[0]
。谢谢。我仍然有点困惑,当您实际返回VM的名称时,您正在执行什么。是不是你放在问题顶部的代码?也就是说,首先我展示名称如何显示我的问题代码,然后我展示在你的帮助下修改代码时显示的内容。感谢你的帮助和解释,因为它帮助我理解了它的工作原理!
Select @{Name="Nombre de la VM"; Expression={$_.PartialPath.ToString().Split('.')[0]}}