AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / computer / Perguntas / 1805678
Accepted
leanne
leanne
Asked: 2023-08-25 05:40:07 +0800 CST2023-08-25 05:40:07 +0800 CST 2023-08-25 05:40:07 +0800 CST

Exibir listas de recursos e subrecursos usando Get-WindowsFeature

  • 772

Estou usando o Hyper-V Server 2019. (Este é um pacote gratuito do Windows Server 2019 Core com a função Hyper-V instalada. É totalmente baseado em texto por padrão - não há área de trabalho GUI como acontece com os pacotes regulares do Windows Server, exceto com o terceiro soluções partidárias que não fazem parte desta questão.)

Muitas instruções para configurar diversas coisas em um servidor pressupõem que uma ferramenta gráfica esteja disponível. Por exemplo, o artigo Prepare seu ambiente para o Windows Admin Center mostra como executar a Etapa 2: Habilitar a função de servidor de arquivos usando a ferramenta gráfica normalmente disponível em outras versões do Windows Server. Muito poucas instruções incluem o método Powershell para fazer as coisas.

Aprendi a usar os "cmdlets" do Powershell para fazer várias coisas, mas estou preso na Etapa 2 acima. Acho que posso descobrir como instalar o recurso de que preciso; no entanto, para referência futura, quero poder exibir os itens nos quais estou interessado.

Para mostrar uma lista de todos os recursos, posso inserir Get-WindowsFeature. Isso, é claro, traz uma lista longa e rolável!

Posso ver pelo diagrama nas instruções que preciso ver o que está instalado em "Serviços de Arquivo e Armazenamento". Então, eu faço isso:

Get-WindowsFeature | where {$_.InstallState -eq "Installed"}

(ou, alternativamente: Get-WindowsFeature | where Installed)

No Powershell 5.1, isso retorna:

Get-WindowsFeature: Lista de itens instalados

Posso adicionar um canal Select-Object com a propriedade SubFeatures e obter isto:

Get-WindowsFeature: lista de itens instalados com subrecursos

Mas, o que eu realmente quero é como a primeira imagem, mas restrito à seção "Serviços de Arquivo e Armazenamento" e todos os seus SubFeatures, independente do valor do InstallState .

Eu vi um -ExpandPropertyparâmetro usado com resultados do tipo array, mas adicionar isso em qualquer lugar do cmdlet apenas me dá um erro sobre esse parâmetro não estar disponível ou que a propriedade SubFeatures não está disponível. Mas...

Get-WindowsFeature | Get-Membermostra a propriedade da seguinte forma:

SubFeatures Property string[] SubFeatures {get;}

Eu tentei o seguinte com o -ExpandPropertyparâmetro:

Get-WindowsFeature | where {$_.InstallState -eq "Installed"} | Select-Object -ExpandProperty DisplayName, Name, InstallState, SubFeatures

Get-WindowsFeature | where {$_.InstallState -eq "Installed"} | Select-Object DisplayName, Name, InstallState, -ExpandProperty SubFeatures

Get-WindowsFeature | where {$_.InstallState -eq "Installed"} | Select-Object DisplayName, Name, InstallState | Select-Object -ExpandProperty SubFeatures

Nota: a única razão pela qual usei o InstallState neles foi para não obter um grande resultado de rolagem. Eu estava experimentando obter a propriedade SubFeatures antes de mergulhar em como obter apenas a seção "Serviços de arquivo e armazenamento" , pois acho que isso exigirá que eu descubra os SubFeatures primeiro... Hmm ...

Além disso, como um aparte: o Powershell 7 possui um campo Display Name na saída; no entanto, está em branco. Somente os campos Nome e Estado de instalação possuem conteúdo. Curiosamente, posso obter as informações especificando-as: Get-WindowsFeature | where Installed | Select-Object DisplayName, Name, InstallState, mas elas não possuem pequenos [X]marcadores legais;)

De qualquer forma, o que estou procurando é como obter uma seção específica ( Serviços de Arquivo e Armazenamento aqui) e sua SubFeaturespropriedade expandida, para que eu possa ver facilmente o que está instalado ou disponível para essa seção usando o Powershell.

Ah, e para ser claro, eu tentei Get-WindowsFeature -Name FileAndStorage-Services, que retornou apenas aquele item (sem seus SubFeatures):

Get-WindowsFeature mostra apenas um serviço


Estas são as primeiras linhas da minha saída se eu usar simplesmente Get-WindowsFeature, incluindo a File and Storage Servicesseção:

Primeiras linhas de saída Get-WindowsFeature

powershell
  • 1 1 respostas
  • 29 Views

1 respostas

  • Voted
  1. Best Answer
    Vomit IT - Chunky Mess Style
    2023-08-25T07:14:04+08:002023-08-25T07:14:04+08:00

    Para obter a SubFeaturessaída as durante a consulta FileAndStorage-Services, você pode utilizar a propriedade do recurso pai Name. Ao gerar dinamicamente uma lista de seus associados SubFeatures, você pode garantir que eles também sejam incluídos na listagem.

    PowerShell

    $FeatureName = "FileAndStorage-Services";
    $subFeatures = (Get-WindowsFeature -Name $FeatureName | Select-Object SubFeatures).SubFeatures;
    $subFeatures = $subFeatures+(Get-WindowsFeature -Name $subFeatures | Select-Object SubFeatures).SubFeatures;
    $combineFeatures = "$($FeatureName)|$($subFeatures -join "|")";
    Get-WindowsFeature | Where-Object {$_.Name -match $combineFeatures};
    

    Saída

    Display Name                                            Name                       Install State
    ------------                                            ----                       -------------
    [X] File and Storage Services                           FileAndStorage-Services        Installed
        [X] File and iSCSI Services                         File-Services                  Installed
            [X] File Server                                 FS-FileServer                  Installed
            [ ] BranchCache for Network Files               FS-BranchCache                 Available
            [ ] Data Deduplication                          FS-Data-Deduplication          Available
            [X] DFS Namespaces                              FS-DFS-Namespace               Installed
            [X] DFS Replication                             FS-DFS-Replication             Installed
            [ ] File Server Resource Manager                FS-Resource-Manager            Available
            [ ] File Server VSS Agent Service               FS-VSS-Agent                   Available
            [ ] iSCSI Target Server                         FS-iSCSITarget-Server          Available
            [ ] iSCSI Target Storage Provider (VDS and V... iSCSITarget-VSS-VDS            Available
            [ ] Server for NFS                              FS-NFS-Service                 Available
            [ ] Work Folders                                FS-SyncShareService            Available
        [X] Storage Services                                Storage-Services               Installed
            [X] File Services Tools                         RSAT-File-Services             Installed
    

    Mais detalhes

    A execução desta operação revelará os valores do arquivo SubFeatures. Em certos casos, empregar a Select *abordagem pode ser particularmente vantajoso, conforme demonstrado no resultado abaixo.

    Get-WindowsFeature -Name $FeatureName | Select-Object *;
    

    Os componentes restantes são triviais, por isso forneci uma seção de recursos de suporte que você pode explorar para aprender mais, caso esteja interessado ou precise se aprofundar.

    Saída

    Name                      : FileAndStorage-Services
    DisplayName               : File and Storage Services
    Description               : File and Storage Services includes services that are always installed, as well as functionality that you can install to help manage file servers and 
                                storage.
    Installed                 : True
    InstallState              : Installed
    FeatureType               : Role
    Path                      : File and Storage Services
    Depth                     : 1
    DependsOn                 : {}
    Parent                    : 
    ServerComponentDescriptor : ServerComponent_FileAndStorage_Services
    SubFeatures               : {File-Services, Storage-Services}
    SystemService             : {}
    Notification              : {}
    BestPracticesModelId      : Microsoft/Windows/FileServices
    EventQuery                : FileServer.Events.xml
    PostConfigurationNeeded   : False
    AdditionalInfo            : {MajorVersion, MinorVersion, NumericId, InstallName}
    

    Recursos de apoio

    • Operators $( ) @( ) :: &
    • -Join
    • Operadores de comparação
    • 3

relate perguntas

  • Como colocar string variável em array no powershell?

  • Powershell e regex: lista de arquivos "backup ao salvar" do Notepad ++. Editar nome, classificar por lastwritetime

  • Adicionando cor de primeiro plano ao perfil do Powershell?

  • Não é possível ativar o Microsoft Print to PDF depois de desativado

  • Posso fazer com que este script do PowerShell aceite vírgulas?

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Como posso reduzir o consumo do processo `vmmem`?

    • 11 respostas
  • Marko Smith

    Baixar vídeo do Microsoft Stream

    • 4 respostas
  • Marko Smith

    O Google Chrome DevTools falhou ao analisar o SourceMap: chrome-extension

    • 6 respostas
  • Marko Smith

    O visualizador de fotos do Windows não pode ser executado porque não há memória suficiente?

    • 5 respostas
  • Marko Smith

    Como faço para ativar o WindowsXP agora que o suporte acabou?

    • 6 respostas
  • Marko Smith

    Área de trabalho remota congelando intermitentemente

    • 7 respostas
  • Marko Smith

    O que significa ter uma máscara de sub-rede /32?

    • 6 respostas
  • Marko Smith

    Ponteiro do mouse movendo-se nas teclas de seta pressionadas no Windows?

    • 1 respostas
  • Marko Smith

    O VirtualBox falha ao iniciar com VERR_NEM_VM_CREATE_FAILED

    • 8 respostas
  • Marko Smith

    Os aplicativos não aparecem nas configurações de privacidade da câmera e do microfone no MacBook

    • 5 respostas
  • Martin Hope
    Vickel O Firefox não permite mais colar no WhatsApp web? 2023-08-18 05:04:35 +0800 CST
  • Martin Hope
    Saaru Lindestøkke Por que os arquivos tar.xz são 15x menores ao usar a biblioteca tar do Python em comparação com o tar do macOS? 2021-03-14 09:37:48 +0800 CST
  • Martin Hope
    CiaranWelsh Como posso reduzir o consumo do processo `vmmem`? 2020-06-10 02:06:58 +0800 CST
  • Martin Hope
    Jim Pesquisa do Windows 10 não está carregando, mostrando janela em branco 2020-02-06 03:28:26 +0800 CST
  • Martin Hope
    andre_ss6 Área de trabalho remota congelando intermitentemente 2019-09-11 12:56:40 +0800 CST
  • Martin Hope
    Riley Carney Por que colocar um ponto após o URL remove as informações de login? 2019-08-06 10:59:24 +0800 CST
  • Martin Hope
    zdimension Ponteiro do mouse movendo-se nas teclas de seta pressionadas no Windows? 2019-08-04 06:39:57 +0800 CST
  • Martin Hope
    jonsca Todos os meus complementos do Firefox foram desativados repentinamente, como posso reativá-los? 2019-05-04 17:58:52 +0800 CST
  • Martin Hope
    MCK É possível criar um código QR usando texto? 2019-04-02 06:32:14 +0800 CST
  • Martin Hope
    SoniEx2 Altere o nome da ramificação padrão do git init 2019-04-01 06:16:56 +0800 CST

Hot tag

windows-10 linux windows microsoft-excel networking ubuntu worksheet-function bash command-line hard-drive

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve