Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
解析变量Powershell_Powershell_Powershell 4.0 - Fatal编程技术网

解析变量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]}}