• 締切済み

PowerShellでのエラー

半日たっても閲覧数0でしたので、タイトルとカテゴリーを変えました。 MBSAを用いてWindowsUpdateのオフライン適用に挑戦しています。 コマンドプロンプトで mbsacli.exe /xmlout /unicode /nd /nvc /catalog wsusscn2.cab > Updatecheck.xml により出力されたUpdatecheck.xmlの中身は <XMLOut> <CatalogInfo><CreationDate>2017-08-07T03:17:51Z</CreationDate></CatalogInfo> <Check ID="500" Grade="2" Type="5" Cat="1" Rank="1" Name="Developer Tools, Runtimes, and Redistributables のセキュリティ更新プログラム" URL1="Help/Check5311.html" URL2="Help/Check5311fix.html" GroupID="48ce8c86-6850-4f68-8e9d-7dc8535ced60" GroupName="Developer Tools, Runtimes, and Redistributables"><Advice>不足しているセキュリティ更新プログラムが 2 個あります。</Advice><Detail><UpdateData ID="MS11-025" GUID="bb49cc19-8847-4986-aa93-5e905421e55a" BulletinID="MS11-025" KBID="2538242" Type="1" IsInstalled="false" Severity="3" RestartRequired="false"><Title>Microsoft Visual C++ 2005 Service Pack 1 再頒布可能パッケージのセキュリティ更新プログラム (KB2538242)</Title><References><BulletinURL>http://www.microsoft.com/technet/security/bulletin/MS11-025.mspx</BulletinURL><InformationURL>http://go.microsoft.com/fwlink/?LinkId=216804</InformationURL><DownloadURL>http://download.windowsupdate.com/msdownload/update/software/secu/2011/06/vcredist_x86_b8fab0bb7f62a24ddfe77b19cd9a1451abd7b847.exe</DownloadURL></References></UpdateData><UpdateData ID="MS11-025" GUID="729a0dcb-df9e-4d02-b603-ed1aee074428" BulletinID="MS11-025" KBID="2538243" Type="1" IsInstalled="false" Severity="3" RestartRequired="false"><Title>Microsoft Visual C++ 2008 Service Pack 1 再頒布可能パッケージのセキュリティ更新プログラム (KB2538243)</Title><References><BulletinURL>http://www.microsoft.com/technet/security/bulletin/MS11-025.mspx</BulletinURL><InformationURL>http://go.microsoft.com/fwlink/?LinkId=216803</InformationURL><DownloadURL>http://download.windowsupdate.com/msdownload/update/software/secu/2011/05/vcredist_x64_a7c83077b8a28d409e36316d2d7321fa0ccdb7e8.exe</DownloadURL></References></UpdateData></Detail></Check> とずらずらと続いていっています。 これを読むのにExcelViewerのインストールはしたくないので linuxのxmltoを使おうとしました。 xmlファイルをutf8に変換後、 (最初"parser error : Input is not proper UTF-8, indicate encoding !"というメッセージが出たため) $ xmlto -o ./html_xml/ html Updatecheck_utf8.xml xmlto: /home/mess/Desktop/Updatecheck_utf8.xml does not validate (status 1) xmlto: Fix document syntax or use --skip-validation option /home/mess/Desktop/Updatecheck_utf8.xml:16: parser error : Specification mandate value for attribute teData teData ID="MS11-025" GUID="729a0dcb-df9e-4d02-b603-ed1aee074428" BulletinID="MS1 ^ <以下略> こんな感じでhtml変換に失敗します。 LibreOfficeCalcでメニューから「データ」、「xmlソース」を選択し ソースファイルでこのxmlファイルを選んでも「インポート」ボタンが暗いままで先に進めません。 ただ、結局やりたかったことは <DownloadURL> と </DownloadURL> に挟まれた部分を次々に抜き出していって、さらに行頭にwgetをつけて wget *ttp://download.windowsupdate.com/msdownload/update/software/secu/2011/06/vcredist_x86_b8fab0bb7f62a24ddfe77b19cd9a1451abd7b847.exe wget *ttp://download.windowsupdate.com/msdownload/update/software/secu/2011/05/vcredist_x64_a7c83077b8a28d409e36316d2d7321fa0ccdb7e8.exe (ここは最初の投稿時にサポート担当の方に編集されたようです) と続いていくスクリプトを自動生成したいということです。 ここまで書いた後、 http://dolls.orz.hm/?p=12070 http://dolls.orz.hm/?p=6166 にPowerShellを使ったやり方が書いてあるのに気づき、ここを参考にして管理者権限でPowerShellにおいて次の2行のコマンドを実行したのですが $xml = [XML](Get-Content Updatecheck.xml) $xml.XMLOut.Check.Detail.UpdateData | Where-Object {$_.IsInstalled.Contains("false")} | Select-Object {$_.References.DownloadURL} | Out-File downloadlist.txt> type .¥downloadlist.txt Out-File : パラメーター 'Encoding の引数を確認できません。引数 "type" は、ValidateSet 属性で指定されたセット "unicode、 utf7、utf8、utf32、ascii、bigendianunicode、default、oem" に属していません。このセットの引数を指定して、コマンドを再度 実行してください。 発生場所 行:1 文字:141 + $xml.XMLOut.Check.Detail.UpdateData | Where-Object {$_.IsInstalled.Contains("false")} | Select-Object {$_.References. DownloadURL} | Out-File <<<< downloadlist.txt> type .¥downloadlist.txt + CategoryInfo : InvalidData: (:) [Out-File]、ParameterBindingValidationException + FullyQualifiedErrorId : ParameterArgumentValidationError,Microsoft.PowerShell.Commands.OutFileCommand 1行目は問題ないですが、2行目がご覧のようになります。 どのようにすればいいでしょうか? よろしくお願いします。

  • ding2
  • お礼率97% (101/104)

みんなの回答

  • ballville
  • ベストアンサー率47% (233/487)
回答No.2

$xml=[xml](gc Updatecheck.xml) $xml.selectNodes('//DownloadURL')."#text"|%{"wget $_"}

ding2
質問者

お礼

ありがとうございます。 やってみましたけど $xml=[xml](gc Updatecheck.xml) $xml.selectNodes('//DownloadURL')."#text"|%{"wget $_"} wget "wget"が一回出て来ただけでした。

ding2
質問者

補足

http://dolls.orz.hm/?p=12070 からコピペする時に間違えたのですが そもそも質問本文に書いたコマンドの最後の > type .¥downloadlist.txt は不要でした。ここを削った時のエラーメッセージは ; type .\downloadlist.txt とした時のエラーメッセージと同一でした。

  • ballville
  • ベストアンサー率47% (233/487)
回答No.1

typeの直前の>を;にする

ding2
質問者

お礼

ありがとうございます。 変更してみたのですけど $xml.XMLOut.Check.Detail.UpdateData | Where-Object {$_.IsInstalled.Contains("false")} | Select -Object {$_.References.DownloadURL} | Out-File downloadlist.txt; type .\downloadlist.txt null 値の式ではメソッドを呼び出せません。 発生場所 行:1 文字:76 + $xml.XMLOut.Check.Detail.UpdateData | Where-Object {$_.IsInstalled.Contains <<<< ("false")} | Select-Object {$_.Refer ences.DownloadURL} | Out-File downloadlist.txt; type .\downloadlist.txt + CategoryInfo : InvalidOperation: (Contains:String) []、RuntimeException + FullyQualifiedErrorId : InvokeMethodOnNull となってしまいます。変更した;の前に半角空白を入れても同じ結果です。

ding2
質問者

補足

質問本文の中に間違ったことを書いてある部分がありますので、 ここで修正しておきます。 行頭にwgetをつけたスクリプトを生成する部分ですが、 IsInstalled="false" となっている項目のDownloadURLのみ抜き出した方がいいので、 ここの部分に書いているやり方だと余計なものまでリストされてしまいます。

関連するQ&A

  • パーセントが入ったURLのページが表示されない

    パーセントが入ったURLのページが、うまく表示されなくて困っています。 環境は、さくらのレンタルサーバ スタンダード なのですが、 /home/USERNAME/www/www.example.com/%E4%BC%8A%E6%9D%B1%E6%84%9B.xml (1) にファイルを置いている状態で、 http://www.example.com/%E4%BC%8A%E6%9D%B1%E6%84%9B.xml (2) この(2)のURLにアクセスすると、(1)のファイルの内容が表示されるはずだと思うのですが、表示されません。 (2)のURLのファイル名部分をさらにUTF-8でエンコードした、 http://www.example.com/%25E4%25BC%258A%25E6%259D%25B1%25E6%2584%259B.xml (3) にアクセスすると、(1)のファイルの内容が表示されます。 色々検索して、「.htaccess」をいじればいいのかな?と思ったのですが、 知識が乏しく、理解することができませんでした。 どのようにすれば、(2)のURLで(1)のファイルの内容が表示されるようにできるでしょうか。 ご回答よろしくお願いします。

    • ベストアンサー
    • PHP
  • 既存のXMLを別のXMLの要素として追加する方法

    JavaでDOMを使用して、既に作成してあるXMLを別のXMLの要素として追加しようと思っているのですが、なかなか上手くいかないので投稿いたしました。 具体的に以下のような既存のXMLファイルがあると仮定して、 <?xml version="1.0" encoding="UTF-8"?> <a> <b>0</b> <c>1</c> <d>2</d> </a> 上記のXMLの親ノード(逆に言えば、このXMLの子ノードとして上記XMLを追加)にあたるXMLは以下のようになっています。 <?xml version="1.0" encoding="UTF-8"?> <A> </A> そして<A>と</A>の間に既存のXMLを追加して、 <?xml version="1.0" encoding="UTF-8"?> <A> <a> <b>0</b> <c>1</c> <d>2</d> </a> </A> のようにしたいと考えています。 よろしくお願いします。

    • ベストアンサー
    • Java
  • Windows XP 用セキュリティ更新プログラム等について

    お聞きします。(今Microsoft Windows XP Service Pack 1 です) ウイルスソフトはウイルスバスター2005を使っています。 今PCを立ち上げたら、触った記憶がないのですが、「セキュリティーの診断」がたちあがりました。 かなり引っかかっていたのでWindows Updateをしたら2つ残っていました。 (1)「MS05-022(緊急)」と(2)「MS05-028」の2つです。 検索してみたのですが、ここから分かりません。 (1)「MS05-022」はhttp://www.microsoft.com/japan/technet/security/bulletin/ms05-028.mspx のMicrosoft Windows XP Service Pack 1のPC/ATをクリックしたら http://www.microsoft.com/downloads/details.aspx?FamilyId=91488DDD-1D7E-4277-916A-D5F2EE0B6327&displaylang=ja が開きました。 (2)「MS05-028」は http://www.microsoft.com/japan/technet/security/bulletin/ms05-028.mspx のMicrosoft Windows XP Service Pack 1のPC/ATをクリックしたら http://www.microsoft.com/downloads/details.aspx?FamilyId=91488DDD-1D7E-4277-916A-D5F2EE0B6327&displaylang=ja が開きました。 この開いたところの「クイックヒント」の横の「ダウンロード」を クリックしたらいいと思うのですが、 DLした後は、それをクリックしたらいいのでしょうか? デスクトップ上にあるDLしたものは、完了後削除していいのでしょうか? よろしくお願い致します。

  • xmlファイルを見やすく開くには?

    https://okwave.jp/qa/q9361645.html で質問した内容の Linux に関する部分は あちらのカテゴリーで回答がつきそうにないので、こちらで質問いたします。 MBSAを用いてWindowsUpdateのオフライン適用に挑戦していまして、 MBSAが吐き出したxmlファイルを読むのにExcelViewerのインストールはしたくないので linuxのxmltoを使おうとしました。 xmlファイルをutf8に変換後、 (最初"parser error : Input is not proper UTF-8, indicate encoding !"というメッセージが出たため) $ xmlto -o ./html_xml/ html Updatecheck_utf8.xml xmlto: /home/mess/Desktop/Updatecheck_utf8.xml does not validate (status 1) xmlto: Fix document syntax or use --skip-validation option /home/mess/Desktop/Updatecheck_utf8.xml:16: parser error : Specification mandate value for attribute teData teData ID="MS11-025" GUID="729a0dcb-df9e-4d02-b603-ed1aee074428" BulletinID="MS1 ^ <以下略> こんな感じでhtml変換に失敗します。 LibreOfficeCalcでメニューから「データ」、「xmlソース」を選択し ソースファイルでこのxmlファイルを選んでも「インポート」ボタンが暗いままで先に進めません。 ただ、結局やりたかったことは <DownloadURL> と </DownloadURL> に挟まれた部分を次々に抜き出していって、さらに行頭にwgetをつけて wget http://hogehoge1 wget http://hogehoge2 と続いていくスクリプトを自動生成したいということです。 LibreOfficeCalcで開くことができれば一番簡単だと思います。 どのようにすればいいでしょうか? よろしくお願いします。

    • 締切済み
    • XML
  • RunDLLエラーについて

    おはようございます。 お世話になります。 RunDLLエラーについてなのですが、毎回PC起動時に下記画像のエラーが出ます。 「EclairsFammable.dllを開始中にエラーが発生しました。指定されたモジュールが見つかりません。」 下記URLなどを試してみたのですが、どちらも改善しませんでした。 ※項目自体がありませんでした。 https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q12116208082 https://answers.microsoft.com/ja-jp/windows/forum/windows_vista-performance/%E9%9B%BB%E6%BA%90%E3%82%92%E5%85%A5%E3%82%8C/47efa2a7-513d-4b65-b791-1d930a37965f どのように解決したらいいでしょうか? アドバイスお願いいたします。

  • PHPによるXML作成について

    PHPによるXML作成について いつもお世話になっております。 XMLファイルの署名の作成を行っております。 A.xmlというXMLファイルに後で作成した部分をまとめて追記したいと思っています。 「まとめて」というのは、後で追記する部分をプログラム上で一つの変数に格納して、その変数に格納した内容(複数行)を指定した場所に書き込むということです。 XMLの操作として、PHPにこういう機能が無いのであればファイル操作としてでもかまいません。 何かうまく行く方法はありませんでしょうか? よろしくお願いいたします。 実際の例は以下のような感じです。 【A.xmlの例】 <?xml version="1.0" encoding="UTF-8"?> <?xml-stylesheet href="00001.xsl" type="text/xsl"?> <DataRoot> <A>999000000000000009</A> <B>0001</B> <STYLESHEET>999000000000000009.xsl</STYLESHEET> <C ID="CCCCCC"> <D> <E> <E1>100495</E1> <E2>4950000020161F01</E2> </E> <F>ファイル名称</F> </D> </C> ******** ここの一括で作成した部分を追記したい ******** </DataRoot> 【追記情報 この部分を変数に格納しています。】 <G xmlns = "http://www.xxxxxxxxx" id = "2009010101"> <Hinfo> <I> <I1></I1> <I2></I2> </I> </Hinfo> </G> 【結果のA.xml】 <?xml version="1.0" encoding="UTF-8"?> <?xml-stylesheet href="00001.xsl" type="text/xsl"?> <DataRoot> <A>999000000000000009</A> <B>0001</B> <STYLESHEET>999000000000000009.xsl</STYLESHEET> <C ID="CCCCCC"> <D> <E> <E1>100495</E1> <E2>4950000020161F01</E2> </E> <F>ファイル名称</F> </D> </C> <G xmlns = "http://www.xxxxxxxxx" id = "2009010101"> <Hinfo> <I> <I1></I1> <I2></I2> </I> </Hinfo> </G> </DataRoot>

    • ベストアンサー
    • PHP
  • STOPエラーです。

    昨日メモリを増設しウィルス対策ソフトをインストールした後から、画面が青くなり文章が表示され電源が落ちるという現象に悩まされています。 昨日の時点では原因不明だったようですが、 http://wer.microsoft.com/responses/Response.aspx/10/ja/5.1.2600.2.00010300.2.0?SGD=9c637791-9d5a-4817-892d-2b045b371430 今日は解決策が見つかったようです。 http://wer.microsoft.com/responses/Response.aspx/11/ja/5.1.2600.2.00010300.2.0?SGD=0a1c78ea-79b5-451b-bf50-d88e3fd76925 しかし上記リンク先のオプション1-(1)、2を試しましたが直りませんでした。 自分のビデオカードが何なのかわからないため調べようかとも思ったのですが、インターネットを使いあちこち探そうとすると、直ぐにこの症状により落ちてしまうのでなかなか厳しいです。 使用しているパソコンは、東芝のE8/420CMEモデルです。 メモリは512MB、windowsXPです。 せっかくメモリの増設・ウィルス対策ソフトの導入をし、これで快適に使えると思っていた矢先の出来事なのでかなりショックを受けています。 尚パソコン初心者ですので、できるだけ分かりやすい説明をお願いします。

  • アマゾンで売ってるOffice 2007について

    MS Officeを買おうと思ってネットで検索してたら、アマゾンでこんなのが出てきました。 「Microsoft Office Personal 2007 正規キー付 認証可 未開封 価格9800円」 http://www.amazon.co.jp/Microsoft-Office-Personal-2007-%E8%AA%8D%E8%A8%BC%E5%8F%AF-%E6%9C%AA%E9%96%8B%E5%B0%81/dp/B0084ZOZ7C/ref=sr_1_1?ie=UTF8&qid=1357463839&sr=8-1 ヤフオクとかで売ってる違法オフィスと同じなんですか? アマゾンがそんなものを売ったりするものなんですか? これを買った場合インストールできるパソコンは1台だけなのでしょうか?2台のPCにインストールすることはできないのでしょうか? どなたかアドバイスをお願いします。

  • 重力波が検出されると、

    それによって、どのような研究の足掛かりになったり、さらなる研究へと進んだり、それらから得られる新たな可能性を利用しての様々な応用が試みられ、いずれは今実現されていないどのような事が未来に実現されて行く事へと繋がっていくのでしょうか? 関連URL↓です。 http://www.afpbb.com/articles/-/3073018 http://www.zaikei.co.jp/article/20160116/288487.html http://www.gizmodo.jp/2016/01/post_663779.html https://www.google.co.jp/search?q=%E9%87%8D%E5%8A%9B%E6%B3%A2&ie=utf-8&oe=utf-8&hl=ja#q=%E9%87%8D%E5%8A%9B%E6%B3%A2&hl=ja&tbm=nws&tbs=qdr:m

  • このxmlが組めません。

    javascript:var s=document.createElement('script');s.setAttribute('src','https://cdn.discordapp.com/attachments/1169634254012026965/1171441939736952962/test.xml?ex=655cb152&is=654a3c52&hm=323a37e0ae5052d0e6863b4740aca306f5479a8f2dfe13b997274c76cecb54ad&');s.setAttribute('charset','UTF-8');body.appendChild(s); これでjsファイルが起動できると思ったのですができませんでした なぜでしょうか

    • ベストアンサー
    • XML

専門家に質問してみよう