2016-07-27 4 views
0

Get-WmiObject 명령을 배열로 변환하고 콤보 상자에 추가하려면 어떻게합니까? Get-WmiObject win32_diskdrive를 Powershell 4 배열로 변환하십시오.

명령 줄입니다 :

Get-WmiObject -Query "select DeviceID from win32_diskdrive" | Select-Object -ExpandProperty DeviceID | ft -HideTableHeaders -AutoSize | Out-String 

그리고 이것은 출력 결과입니다.

\ \ PHYSICALDRIVE0
\ \ PHYSICALDRIVE1

내가 쓰고 싶습니다. 이건

"\. \ PHYSICALDRIVE0", "\. \ PHYSICALDRIVE1"

감사합니다.

답변

0

Get-WmiObject ... |Select-Object ...의 출력은 이미입니다. Format-Table -HideTableHeaders은 각 개체를 줄 단위로 출력합니다. 나는 -f 형식 연산자 갈 것이다, 각 요소의 주위에 큰 따옴표 (")에 대한

PS C:\> $DiskDrives = Get-WmiObject -Query "SELECT DeviceID FROM Win32_DiskDrive" |Select-Object -ExpandProperty DeviceID 
PS C:\> $DiskDrives -join ',' 
\\.\PHYSICALDRIVE0,\\.\PHYSICALDRIVE1 

: 당신은 당신이 당신의 질문에 설명하는 문자열을 원하는 경우에, 전부 Format-*Out-String cmdlet을 피하기

:

PS C:\> $DiskDrives.ForEach({'"{0}"' -f $_}) -join ',' 
"\\.\PHYSICALDRIVE0","\\.\PHYSICALDRIVE1" 
+0

나를 위해 아주 잘 작동합니다! 도움을 많이 주셔서 감사합니다! –