【问题标题】:PowerShell Dynamic menu from array来自数组的 PowerShell 动态菜单
【发布时间】:2016-06-12 19:33:35
【问题描述】:

朋友。

可能是一个非常简单的。

在这个 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

谢谢

【问题讨论】:

标签: arrays powershell dynamic menu


【解决方案1】:

我猜你已经得到了回复或想通了这个?

将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

【讨论】:

    【解决方案2】:

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

    $selection = $menu.Item($ans)
    

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

    $selection = $services[$ans-1]
    

    然后就可以访问了

    $selection.DisplayName
    $selection.StartMode
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-03-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-01-04
      • 1970-01-01
      相关资源
      最近更新 更多