2012-02-15 10 views
3

ハードドライブの名前とシリアル番号を読みたい。wmic diskdrive serialnumberを取得する - >無効なXML出力

私はウィミにつまずいたが、私はトラブルを抱えている。私はこれらの2つのコマンドは、トリックを行う必要がありますね、私は唯一のメッセージが表示されます。

Invalid Xml-Content. //(Translated) 

wmic path win32_physicalmedia get serialnumber 

または

wmic DISKDRIVE GET SerialNumber 

私は、次のaswell試してみました:

​​

にどのようなI上の任意のアイデアを'間違っている?


ソリューション:

おかげJPBlanc、/経由 ?コマンド私はSerialNumberが存在しないことを知りました。私は今、正しい結果をもたらす

WMIC /output:"c:\hdds.txt" DISKDRIVE GET PNPDeviceID,Name /Format:CSV 

を使用します。

CSV 
HFORM 
HTABLE 
LIST 
MOF 
RAWXML 
TABLE 
VALUE 
XML 
htable-sortby 
htable-sortby.xsl 
texttablewsys 
texttablewsys.xsl 
wmiclimofformat 
wmiclimofformat.xsl 
wmiclitableformat 
wmiclitableformat.xsl 
wmiclitableformatnosys 
wmiclitableformatnosys.xsl 
wmiclivalueformat 
wmiclivalueformat.xsl 

あなたが試すことができます:

WMIC /output:"c:\temp\serial1.xml" DISKDRIVE GET SerialNumber /Format:RAWXML 

あなたは他人の形式のいずれかでRAWXMLを置き換えることができますあなただけのWMICコマンドラインusin間違いを作っている

答えて

3

WMIC DISKDRIVE GET SerialNumber /Format /?はあなたにキーワードを与えます。

3

この問題は、一部のドライブのシリアル番号に含まれている制御文字が無効であるとXMLパーサが処理するために発生します。

+0

。 WMICに修正プログラムを適用してこれを修正するための修正プログラムがあります。http://support.microsoft.com/kb/2664203 – AlcubierreDrive

3

外付けドライブが接続されていると、Windows 7 x86 Pro(シリアル番号should be possibleを照会する)でこのエラーが発生しました。

  1. 各ドライブのID取得:wmic diskdrive get deviceid /format:list

  2. は、出力を解析し、最初のIDを取得

    これは、私はそれを固定する方法です。

    wmic diskdrive where deviceid='\\\\.\\PHYSICALDRIVE0' get serialnumber /format:list

  3. 繰り返し手順:IDはそのエスケープIDを使用して、ドライブのシリアル番号を取得します\\\\.\\PHYSICALDRIVE0

  4. あるように私の場合には、これは、バックスラッシュ \\.\PHYSICALDRIVE0

  5. 脱出しましたすべてのドライブのシリアル番号を取得するまで2 - 4すべて


編集:上記はWindows XP x86 Proのコピーでは機能しません。

これが行います。確かに

wmic path win32_physicalmedia where tag='\\\\.\\PHYSICALDRIVE0' get serialnumber /format:list 
関連する問題