首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PowerCLI快照阵列

PowerCLI快照阵列
EN

Stack Overflow用户
提问于 2012-07-06 23:21:42
回答 2查看 714关注 0票数 1

现在有点困惑,想知道社区是否能给我一个快速的提振,以帮助我继续我正在工作的程序。

在我正在编写的程序中,我试图从一个数组中获取6个最新元素。我想把snapshot变量放在一个数组中,以便获得一个数组中的所有快照。下面是目前让我感到困惑的代码部分:

代码语言:javascript
复制
$server = "test"
$date = get-date
$tempArray = @()
$snapshot = get-snapshot -VM "test"

foreach ($item in $snapshot){
    $tempArray += $item
}

$tempArray | sort
for ($i = 0; $i -le $tempArray.length-6; $i++){
    remove-item $tempArray[$i]
}

我是否实现了在数组中获取$snapshot变量的目标,并且我的for循环是否正确地删除了除6个最新变量之外的所有变量?

编辑:修复了以前没有注意到的小问题。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-07-07 00:12:52

您的代码有几个问题。我不确定这是否能修复您的脚本,但这些似乎是显而易见的问题,您应该首先修复它们。

代码语言:javascript
复制
foreach ($item in $snapshot){
    $tempArray++ -> this should be $tempArray += $item, right? if you are adding $item to the tempArray
}

$tempArray | sort
for ($i = 0; $i -le $tempArray.length-6; $i++){
    remove-item $snapshot -> this should be remove-item $tempArray[$i], right?
}
票数 0
EN

Stack Overflow用户

发布于 2013-07-30 09:34:17

按创建的时间戳属性进行反向排序,然后在select对象中使用Skip来获取6个最新的

代码语言:javascript
复制
$snapshot = get-snapshot -VM "test"

$snapshot | sort created -descending | select -Skip 6 | Remove-Snapshot -Confirm:$false
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11365089

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档