Como você obtém o nome do volume da unidade ou o caminho da unidade usando Get-WmiObject?

Como você obtém o nome do volume da unidade ou o caminho da unidade usando Get-WmiObject?

Então, estou procurando descobrir se um servidor tem uma unidade compartilhada. Até agora consegui encontrar essa codificação do Powershell.

Get-WmiObject Win32_LogicalDisk -ComputerName Zetafax -Filter DriveType=3 | Select-Object DeviceID, @{'Name'='Size (GB)'; 'Expression'={[string]::Format('{0:N0}',[math]::truncate($_.size / 1GB))}}, @{'Name'='Freespace (GB)'; 'Expression'={[string]::Format('{0:N0}',[math]::truncate($_.freespace / 1GB))}}

Isso só me dará a letra, ou seja, C: ou D:, existe uma maneira de fazer com que ele mostre o caminho da mesma forma que o Get-PSDrive faz em um PC local?

Obrigado

Responder1

Posso estar errado, mas como você está procurando informações de compartilhamento, não seria melhor usar o comando Win32_Share para WmiObject?

Get-WmiObject Win32_Share

Isso lhe dará o nome do compartilhamento e o caminho. Se precisar de mais detalhes como espaço e tamanho, você precisará obter essas informações usando o primeiro comando.

Responder2

Você pode usar qualquer comando, incluindo aqueles usados ​​em uma máquina local ou em uma máquina remota usando:

Comunicação remota do PowerShell

Invocando comandos remotos

ou WMI.

Existem cmdlets integrados para este caso de uso.

Get-Command -Name '*smbshare*' | 
Format-Table -AutoSize

CommandType Name                   Version Source  
----------- ----                   ------- ------  
Function    Block-SmbShareAccess   2.0.0.0 SmbShare
Function    Get-SmbShare           2.0.0.0 SmbShare
Function    Get-SmbShareAccess     2.0.0.0 SmbShare
Function    Grant-SmbShareAccess   2.0.0.0 SmbShare
Function    New-SmbShare           2.0.0.0 SmbShare
Function    Remove-SmbShare        2.0.0.0 SmbShare
Function    Revoke-SmbShareAccess  2.0.0.0 SmbShare
Function    Set-SmbShare           2.0.0.0 SmbShare
Function    Unblock-SmbShareAccess 2.0.0.0 SmbShare


# get function / cmdlet details
(Get-Command -Name Get-SmbShare).Parameters
Get-help -Name Get-SmbShare -Full
Get-help -Name Get-SmbShare -Online
Get-help -Name Get-SmbShare -Examples


Get-SmbShare

Name   ScopeName Path       Description  
----   --------- ----       -----------  
ADMIN$ *         C:\Windows Remote Admin 
C$     *         C:\        Default share
D$     *         D:\        Default share
E$     *         E:\        Default share
F$     *         F:\        Default share
IPC$   *                    Remote IPC 

informação relacionada