Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/15.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
Windows TimeCreated属性未返回唯一值Get-AzureRmDisk_Windows_Powershell_Azure_Azure Powershell - Fatal编程技术网

Windows TimeCreated属性未返回唯一值Get-AzureRmDisk

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' 结果: 结果: 正如我们所看到的,有一个额外的重复日期正在显示。关于如何

我正在尝试提取azure portal中操作系统磁盘的创建日期。我能够从Get-AzureRmDisk cmdlet生成操作系统磁盘列表

但是,当我尝试使用-unique参数提取timecreation日期时。结果显示重复的值

 $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