Yahoo Query Language(YQL)

Yahooさんは、様々なAPIを提供してくれていてありがたい限りです。
そんななか、YQL(Yahoo Query Language)というのがあることを知りました。

これは、SQLライクなクエリを書くことで、Webからデータを取得できる言語です。
さらに素晴らしいのが、以下のリンクのようにWebコンソールを用意している点。
これで、ブラウザ上でどのようなデータにアクセスできるかを自由に試すことができました。
加えて、画面下部に実際にHTTPで情報を取得するためのクエリも吐き出しているので
自身のプログラミングに組み込むのにも便利です。

developer.yahoo.com

よくYahoo Financeから為替データを取得するとかを実施している方がいるかと思います。
これに対してもYQLで対応可能でした。

# こんな感じです。SQLですね(笑)
select * from yahoo.finance.quote where symbol in ("YHOO","AAPL","GOOG")

余談ですが、実際にYQLを調べるのもめんどくさいという方は、
Pythonであれば、Yahoo-finance というモジュールを利用すると簡単かと思います。
中を見る限り、YQLを実行しているようでした。

GitHub - lukaszbanasiak/yahoo-finance: Python module to get stock data from Yahoo! Finance

pypi.python.org

SCCMクライアントからレポートが上がらない際の切り分け方法

最近は、MCPの勉強で触ったということもありSCCMネタ。

余談ですが、
ITの世界は何事もまず触ってみるというのが大事なので
環境を試しに作るのが第一歩だと思います。

MSさんは評価ガイドを各製品提供してくれているのでそのあたりの導入は楽です。
ちなみに、SystemCenter関連の評価ガイドは下記を参考にするのがいいと思います。

SE'S BOOK: System Center 2012 R2 自習書(評価ガイド)

ここから本題ですが、SCCMを操作していると様々な操作ができるのはいいが、
どこから設定できるのか、設定を確認できるのかが分からないことが多々あると思いました。
例えばクライアントにエージェントをインストールして、
HW/SWインベントリ収集の設定を行ったが、収集されない等。

この問題の切り分けの方法は以下の手順になるかと思います。

手順1.サーバ側で想定した設定がされているか
手順2.クライアント側の挙動の確認


手順1に関して

まずは、当たり前ですが自分が想定した設定が
クライアントに適用されるようになっているかを確認します。

SCCMでは、クライアントの設定は、
「管理」>「概要」>「クライアント設定」で行います。
これは、GPOと考えが似ており複数のポリシーの重ね合わせが最終的な設定となります。

では最終的にクライアントにどのような設定が適用されるかを
見るにはどうすればいいかというと下記のようになります。

「資産とコンプライアンス」>「概要」>「デバイス」>「対象PC」を選択して、
「クライアント設定」>「クライアントの設定の結果」

f:id:etsubo:20160724220550j:plain

上記が、実際の結果セットの図です。
これは対象デバイスに適用されるポリシーを重ね合わせた最終結果です。
想定した設定でなければ、どこかのポリシーに上書きされている等が考えられます。


手順2に関して

実際にサーバ側で想定通りの設定がされている場合は、クライアント側の挙動を疑います。
SCCMエージェントのログを確認することになりますが、
見るべきポイントは下記URLにまとめられています。

設定内容に応じて、指定したログファイルから原因を探します。

Configuration Manager クライアント管理のログ ファイル


そして、、、
ここまで実施して、インベントリ送信もサーバにたいして正常に実施できており
エラー等怪しい項目がない場合ですが、(私のケース)
恐らくデータ自体はSCCMのサーバに送信できているのだと思います。

私は、SCCMの再起動を実施したら突然インベントリ情報を閲覧できるようになりました。

少し調べてみると下記の方のように数日放置したら閲覧できるようになったという報告もあります。
下記サイトの方の言う通り、恐らくサーバ側でデータ反映のタイミングが何かしらあるのだと思います。
私も、何度かクライアントから明示的にデータ送信を実施して見たのですが、
サーバ側の反映タイミングがずれているのかすぐには閲覧できずというところでした。
(結果再起動すると送信した内容が閲覧できるようになった。)

ebi.dyndns.biz

MCP 70-695 受験記

久々にMCP(マイクロソフトの資格試験)を受験したので、感想を書きたいと思います。

今回は、MCSE "Enterprise Devices and Apps" の取得を目標に、
70-695 "Deploying Windows Desktops and Enterprise Applications"を受験しました。

MCSE "Enterprise Devices and Apps" はWindows8のMCSAを取得していれば、
70-695と70-696の2試験に合格すれば資格認定になります。

MCSE: Enterprise Devices and Apps | Microsoft

で、この試験を受けるうえでの障壁は以下2つ。

障壁1:日本語版の試験がない(英語のみ)
障壁2:学習用教材が少ない

・障壁1に関して 
 受験して思ったのだが、これは問題ない。
 文章は容易かつ簡潔な英語文法のみで記載されており、単語もエンジニアにとっては
 馴染みのあるものばかりだった。
 ここに関しては、大学受験など最低限英語を勉強したことがある人は問題ないと思う。

・障壁2に関して
 どちらかというとこれが問題だった。
 mstepにも資料がなく、どのように勉強しようかといろいろ考えたが、
 結果下記書籍で十分だと思う。

 英語の書籍だが、エンジニアにとっては読みやすい文章だと思うし、
 試験内容にそって、必要な内容が書かれていると思う。

 自分はクライアント展開の技術に関しては、
 比較的経験があるので実機での検証とかは特別には行わなかったが、
 経験がない人は、以下の項目に関して触ってみるのがいいかと思う。
 下記の製品を一通り触ったことがあるのであれば、
 上記書籍を用いた復習みたいな学習で問題ないと思う。

  ・MDT
  ・WDS
  ・SCCM
  ・Windows ADK(Dism、USMT、Windows SIM etc...)
   →イメージ作成の技術に関しては必須となる。当たり前だけど。試験項目的に。
  ・Officeの展開方法(Click to Runとか)

OneNote Importerでエラーコード30105が出た場合

Evernoteを長年愛用してきましたが、
皆さんご存知のように無償でのサービスレベルが大きく低下するというアナウンスがありました。

Evernoteが1.5倍に値上げ&無料版の同期端末を2台までに制限するという「改悪」を実施 - GIGAZINE

Evernoteに自身の備忘録を頼りきっているので有償契約してもいいかとも思いまいしたが、
Office365を契約している手前OneNoteを試してからでも遅くはないかなと思い
試して見ることにしました。(OneNote最近評判いいですしね)

EvernoteからOneNoteへのデータ移行に関しては、
MSが「OneNote Importer」というツールを公開しています。

Import content from Evernote to OneNote

EvernoteからOneNoteへ自動移行。「OneNote Importer」の使い方と、移行したノートブックの確認方法 | できるネット

こちらでデータを簡単に移行できるはずでしたが、
なぜかエラーがでて失敗してしまいました。
※あくまでOffice365のOneNoteを利用する場合。
 Office Onlineという無償のサービスだと関係ないと思われる。
 OneDrive for businessとかでてるし。

エラー内容としては、

「エラーコード:30105
OneDrive for businessのセットアップが完全には完了していません」

というもの。

いろいろ調べてみたのですが、
OneDrive for businessのセットアップ事態は問題なく完了していました。
※PCとOffice365のOneDrive for businessと同期はできているし、
 Webからも警告なく利用可能でした。

で、結果としてですが、
OneDriveではなくOneNoteのアカウントセットアップが中途半端になっていました。
上記のエラーコードが表示された人は、Office365のポータルサイトから
OneNote Onlineに接続してみてください。
アカウント関連の警告が出ているのではないでしょうか。
私は出ていましたし、この警告を消せたあとは無事データを移行できました。

iCalデータからOffice365への移行時の注意

今までは、プライベートのスケジュール管理は自前のiCalサーバで管理していました。
今回、Office365を契約していることもあり、こちらに移行したいと思いまして実施してみました。

Office365のスケジュール機能は、outlookなわけですが、
データをインポートする際には、icsファイルを用意することになります。

MaciCalを利用している人は、
iCalの書き出し機能を利用してicsファイルとしてエクスポートできます。
基本的にこのicsファイルをインポートすればいいのですが、
ものによってはエラーがでてインポートに失敗することがあります。

残念ながら、画面上だとなぜエラーになるのか
さっぱり情報が得られないのが苦しいところなのですが。。
少し切り分けしてみると以下の条件があることがわかってきました。

条件1: リマインダー機能等を利用している
条件2: タイムゾーンを複数持っている

条件を説明する前に、少しicsファイルの構造を説明する必要があります。
(icsの構造はシンプルでテキストエディタで開いて中身を確認できます)

http://www.asahi-net.or.jp/~CI5M-NMR/iCal/ref.html

上記サイトがわかりやすくまとまっているのですが、
icsのデータ構造は、

BEGIN:属性名 で始まり、
END:属性名  で終わります。

BEGIN~ENDの間に実際のデータや設定値を格納していく形式です。

例えば、BEGIN:VEVENT~END:VEVENTは
実際のスケジュールの内容が書かれている項目になります。
実際のデータを覗くと下記のような項目がテキストファイルにはずらずらと並びます。

BEGIN:VEVENT
CREATED:
UID:
DTEND;TZID=Asia/Tokyo:20160703T200000
SUMMARY:買い物(スケジュールのタイトル)
DTSTART;TZID=Asia/Tokyo:20160703T190000
DTSTAMP:
LOCATION:どこか
SEQUENCE:
END:VEVENT

"VEVENT"以外にも属性はあり、
"VALARM"・・・これは文字通りアラームを設定した場合に付与される
"VTODO" ・・・これも文字通りTODOを設定した場合に付与。
       リマインダーを利用する人はこの項目がicsファイルに多いはず。

ここでやっと本題のなぜうまくいかないかの説明に戻ると、
条件1は、outlookがVTODOをサポートしていないからと思われる。
条件2は、"VTIMEZONE"というタイムゾーン設定をする属性があるのだが、
     outlookが一つしか"VTIMEZONE"の設定値を許可していないと思われる。
     iCalから出力したicsファイルには複数の"VTIMEZONE"を出力できていたので、
     iCalは複数のタイムゾーン設定を許可しているはず。

本当はOffce365のoutlookの正式な仕様を知りたいのだが、、
どこかに公開されていないかな。

以上、簡単ですが切り分け結果でした。
   

Dism.exeをWindows10で利用したい。

WindowsPEのイメージを構築したく、Windows10にADKをインストールして試してみたがうまくいかなかった。

Windows ADK for Windows10
 Windows ADK のダウンロード - Windows ハードウェア デベロッパー センター

なにが問題かというと、作成したPEイメージをマウントができない。

dism /mount-image /imagefile:"c:¥WinPE_x86¥media¥sources¥boot.wim" /index:1 /mountdir:"c:¥WinPE_x86¥mount"

普段通り、上記コマンドでマウントしようとするとエラーがでる。
調べてみると、"imagefile:"の部分は"\"がうまく解釈できないので、
"boot.wim"直下に移動するといいよとかいう情報があったりしたがそれでもだめ。
¥(円サイン) → \(バックスラッシュ) でもだめ。
だけど、Windows7だとスムーズにいった。なぜだ。。(なんかミスったのか。。)

http://answers.microsoft.com/ja-jp/windows/forum/windows8_1-update/windows81-%E3%81%A7%E3%81%AE-windows-pe/86e405d7-b616-461c-9bac-95eb62335db0

3.5インチベイにSSDを設置する

最近のPCケースだと、SSDの利用を前提として2.5インチ用のベイをPC内部に確保してくれています。
ですが、昔のケースとか、サーバ用ケースですと3.5インチベイのみのものが多いと思います。

そういう時は、下記の製品がお勧めです。
2.5SATA-3.5SATA変換をしてくれるマウンタです。

私は、この製品をHP Proliant ML 110 G7 に搭載してSSDを利用しています。
お勧めです。