数组

时间:2016-02-29 16:51:52

标签: arrays powershell dynamic menu

友。

可能是一个非常好的简单的。

在这个technet线程' BigTeddy'写了一个精彩的小脚本,从Get-Service查询中获取动态菜单。

https://social.technet.microsoft.com/Forums/scriptcenter/en-US/74c34d41-1cf6-494e-8fe2-13827c3b7a4d/create-dynamic-menu-system-with-powershell?forum=ITCG

我正在做类似的事情,想知道如何在菜单中列出名称和状态。

以下是代码:

$processes = Get-Process
$menu = @{}
for ($i=1;$i -le $processes.count; $i++) 
{ Write-Host "$i. $($processes[$i-1].name)"
$menu.Add($i,($processes[$i-1].name)) }

[int]$ans = Read-Host 'Enter selection'
$selection = $menu.Item($ans) ; Get-Process $selection

这是否可以轻松实现?我在PowerShell的基本用户周围,因此无法确定放置.Status的位置(如果有的话)

由于

2 个答案:

答案 0 :(得分:6)

我猜你已经得到了答复或者想出了这个答案?

将get-process切换到get-service

$services = Get-Service
$menu = @{}
for ($i=1;$i -le $services.count; $i++) 
{ Write-Host "$i. $($services[$i-1].name),$($services[$i-1].status)" 
$menu.Add($i,($services[$i-1].name))}

[int]$ans = Read-Host 'Enter selection'
$selection = $menu.Item($ans) ; Get-Service $selection

答案 1 :(得分:0)

对于寻找这篇文章的其他人,我遇到了一些问题

$selection = $menu.Item($ans)

如果你需要原始数组/集合的其他属性试试

$selection = $services[$ans-1]

然后就可以访问了

$selection.DisplayName
$selection.StartMode