Windows TimeCreated属性未返回唯一值Get-AzureRmDisk
我正在尝试提取azure portal中操作系统磁盘的创建日期。我能够从Get-AzureRmDisk cmdlet生成操作系统磁盘列表 但是,当我尝试使用-unique参数提取timecreation日期时。结果显示重复的值Windows TimeCreated属性未返回唯一值Get-AzureRmDisk,windows,powershell,azure,azure-powershell,Windows,Powershell,Azure,Azure Powershell,我正在尝试提取azure portal中操作系统磁盘的创建日期。我能够从Get-AzureRmDisk cmdlet生成操作系统磁盘列表 但是,当我尝试使用-unique参数提取timecreation日期时。结果显示重复的值 $disks = Get-AzureRmDisk -ResourceGroupName "testGroup" $osdisk = $disks.Name -match '-osdisk' 结果: 结果: 正如我们所看到的,有一个额外的重复日期正在显示。关于如何
$disks = Get-AzureRmDisk -ResourceGroupName "testGroup"
$osdisk = $disks.Name -match '-osdisk'
结果:
结果:
正如我们所看到的,有一个额外的重复日期正在显示。关于如何获取特定Azure os磁盘的日期的任何建议您可以将
TimeCreated
值格式化为日期-时间格式,以便进行比较和重复筛选
下面代码的结果是True
或False
:
$osdisk = $disks.Name -match '-osdisk'
请参阅建议的更改:
$osdisk = $disks | where {$_.Name -match '_osdisk'}
$datess = $osdisk.TimeCreated | %{Get-Date $_ -f 'yyyy-MM-dd HH:mm:ss'} | Select -Unique
更改已经过测试。我遇到以下错误
Get Date:无法将参数“Date”绑定到目标。异常设置“Date”:“无法将null转换为类型”System.DateTime“。在第1行char:44+$datess=$osdisk.TimeCreated |%{Get Date$\uUf'yyyy MM dd HH:MM:ss…+~~+CategoryInfo:WriteError:(:)[Get Date],ParameterBindingException+FullyQualifiedErrorId:ParameterBindingFailed,Microsoft.PowerShell.Commands.GetDateCommand
请查看更新的答案并尝试建议的更改。非常感谢…$osdisk=$disks |其中{$\名称-匹配'\osdisk'}与$osdisk=$disks.Name-match'-osdisk'相同,对吗?
另外,您可以通过提供Get-Date格式来解释它是如何删除重复日期的吗?不,它们不一样。第一个返回与名称“osdisk”匹配的磁盘列表,而后者只返回true/false。同样,正如我的回答中所提到的,Get-Date格式转换为它使日期时间比较更容易,因此重复筛选也更简单
$osdisk = $disks | where {$_.Name -match '_osdisk'}
$datess = $osdisk.TimeCreated | %{Get-Date $_ -f 'yyyy-MM-dd HH:mm:ss'} | Select -Unique