カテゴリー: 技術系

  • Windows 7 Pro のロック画面を変更する方法

    指紋認証を使っていると、Windows 7 Proのロック画面で
    Ctrl + Alt + Deleteを押さないと
    指紋認証できないのがもどかしく感じる。

    このロック画面は設定を変更することで、
    Ctrl + Alt + Deleteのシークエンスをエスケープし、
    直接、指紋認証の画面にすることができる。
    Microsoftから設定変更のツールも出ているので簡単に変更できるのもよい。

    1. 下記のURLにアクセスします。
      http://support.microsoft.com/kb/308226/ja
    2. ページの中段にある
      「 ログオンするためにCtrl + Alt + Del キー シーケンスを無効にする 」
      をクリックし、設定ファイル用ファイルをダウンロードします。
    3. ダウンロードしたファイルを実行します。
      “MicrosoftFixit50406.msi”
    4. ライセンス条項に同意し、「次へ」をクリックします。
    5. 実行許可を求められるので許可をします。
    6. インストール(設定)が終わったら、「閉じる」をクリックします。
    7. 再起動を求められるので、再起動します。
    8. これで、ロック後の画面が変わります。
  • メモ/Android 4.1 でのスクリーンショットの取り方

    Android 4.1(Jelly Beans)でスクリーンショットをとるには、
    “ボリュームを下げるボタン”と“電源ボタン”を1秒くらい同時押しする。
    すると、スクリーンショットがとれる。
    (画面上にエフェクトがかかるので、簡単にわかる)
    Android 4.0でも同様にスクリーンショットがとれるようだ。
    これらは、Android OS の機能なので、初期セットアップ中でも
    スクリーンショットを撮ることができた。
    少なくとも、Xperia VLでは撮れた。

    Android 2.3の時は、PC側に開発ツールをインストールし、
    スクリーンショットを撮っていたことを考えるとかなり楽になった。

  • CiscoのCatalystでInterfaceにセカンダリIPアドレスを設定すると、ARPテーブルがおかしくなる

    CiscoのCatalystスイッチで、InterfaceにセカンダリIPアドレスを設定するとARPテーブルがおかしくなって通信ができなくなることがある。

    今回、ハマったのはPortChannelを使って、Cat3560にWLC(Wireless Lan Controler)を接続したところ、最初はWLCにPingが飛んだのだが、急にPingが飛ばなくなるという現象。接続が落ちたわけでもなく、リンクはアップしている。“sh ip arp”でARPを調べると、ちゃんとMACアドレスとIPアドレスが一覧にある。

    だが、Pingが飛ばない。

    ここで、“clear ip arp 192.168.0.XX”を実行して、ARPテーブルからWLCを削除してあげるとWLCにPingが飛ぶようになる。Pingを飛ばしたタイミングで、ARPテーブルにWLCのMACアドレスが登録されて正常な状態になる。

    おかしくなっているのは、Cat3560のARPテーブルなのだ。ちなみに、PortChannelをやめて、Active-Standby構成にしてみたが安定せず。セカンダリIPアドレスが設定されていない別のVLANにWLCを接続したところ、通信や挙動が安定するようになった。

    それで、ARPテーブルがおかしくなるのはなぜだ?と、いう話なのだが、Catalystで、InterfaceにセカンダリIPアドレスを設定するとARPテーブルが不可解な状態になるのは、ある程度有名なことらしい。

    こんなピンポイントでハマるとは・・・。こういう時もあるよね。

    おまけ。設定とか、いろいろ。

    ■InterfaceのセカンダリIPアドレス設定

     interface Vlan100
      description ServerSeg
      ip address 192.168.0.10 255.255.255.0 secondary
      ip address 192.168.0.1 255.255.255.0
     !
    

    ■ARPテーブルの表示

     cisco# show arp
    

    もしくは

     cisco# show ip arp
    

    ■ARPテーブルから、特定のIPアドレスのものだけを削除

     cisco# clear ip arp 192.168.0.XX
    
  • Gmailの稼働率は、指標として使えそうかも。

    Gmailの2012年の稼働率が99.983%という発表。

    http://googleenterprise.blogspot.jp/2013/04/pure-and-proven-cloud-gmail.html

    http://www.itmedia.co.jp/news/articles/1304/09/news082.html

    稼働率を下げたいわけじゃないが、Gmailでも99.9%の稼働率保証で、
    実際には99.983%というのは良い指標になるのではないか。
    目指すところが99.999%というのがいいけれど、本当にその稼働率が必要なのか、
    という議論はよくある。
    が、落としどころがなくて、そのままインフラ設計が進むなんてこともある。
    そういうとき、この稼働率は使えそうだ。
    99.9%としておいて、実際の運用でカバーして、それ以上を目指す。

    最初から宣言する数字を大きくしてしまうと、それ以上の運用体制が必要になるわけで、
    落としどころとしては、99.9%は悪くない。
    ベンチマーク的な使い方ができる数字を出してくれるのはうれしいね。

  • Windows Azure Active Directory(AD)が正式にリリースですか。

    ついにWindows Azure Active Directory(AD)が正式にリリースされた。

    これは、何気ない1つのリリースだけど、クラウド利用を考える企業にとっては大きな出来事。
    社内(オンプレミス)のADと連携ができて、そのままクラウド環境で使えるわけだ。
    いちいち、ユーザやパスワードをPowerShellを使ったりして同期したりしなくても良い。
    それだけ運用コストは下がるし、導入するときの障壁も減るわけだ。
    Azureの開発環境だけでなく、Office 365でも・・・となると本当に便利そう。
    MSのことなので、最初はどこまで安定して使えるかわからないが、
    これは期待できそうなリリースだ。

    本当に複数のID管理や権限管理はめんどくさいので、
    楽に一元管理できるようになると便利。
    特にオンプレミスでExchangeやSharepointを使っている場合は効果大かもね。

    料金体系などは気になるけど、
    もうちょいしたら、Azureで業務用のアプリ開発でもやってみようかな。
    それくらいの衝撃だな。

    http://www.atmarkit.co.jp/ait/articles/1304/09/news100.html

  • VB.NET Grid Viewで並び替えを行ったとき、急にエラーが発生するようになったときの対処

    Grid Viewで並び替えを行ったときに、急にエラーが発生するようになったときは、
    Grid Viewで一度に表示させる行が1,000を超えていないか確認する。
    標準の設定では、Grid Viewで一度に扱える値は1,000まで。
    1,000を超えたときに並び変え等を行うと、値を扱えずにエラーが発生してしまう。
    なお、ページ設定を行い、一度に表示させる件数を制限(1,000以下)している場合は、
    この問題は発生しない。

    この問題が発生したときは、Web.configで一度に扱える数を変更することで、対応できる。
    ただし、リソースの問題はあるので、一度に扱う数を押さえるほうが望ましいだろう。

    ■出力されたエラーメッセージ

    2013-02-19 10:36:43,881 ERROR :  - Global_asax.Application_Error[38] :
       場所 System.Web.HttpRequest.FillInFormCollection()
       場所 System.Web.HttpRequest.get_Form()
       場所 System.Web.HttpRequest.get_HasForm()
       場所 System.Web.UI.Page.GetCollectionBasedOnMethod(Boolean dontReturnNull)
       場所 System.Web.UI.Page.DeterminePostBackMode()
       場所 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
    

    ■原因

    ASP.NETのGrid Viewで(実際には、Grid Viewだけではなく、フォームキーなども)扱う行数がデフォルト 1000 になっている。
    そのため、1000 を超えた行数のデータに対して、並び替え等を行うと、値を扱うことができず、エラーが発生する。

    ■対処

    Web.config の appSettings に下記の行を追加し、行(項目)の数を指定する。
    当然、行数(項目数)を増やせば、それだけリソースを消費するので、
    大規模システムや動作の重いシステムの場合には注意が必要。
    行数を増やすのではなく、一度に表示させる件数を絞り込むなどの対応をするほうが堅実的だろう。

     <add key="aspnet:MaxHttpCollectionKeys" value="行(項目)の数" />

    設定例: 行数を2000行にする

       <appSettings>
         <add key="aspnet:MaxHttpCollectionKeys" value="2000" />
       </appSettings>

    なお、この方法で対応できるのは、ASP.NET の2以降。
    1.1系の場合は、別の方法になるので注意すること。

    ■参考URL

    多くのフォーム キー、ファイル、または JSON ペイロード メンバーを含む ASP.NET 要求が例外が発生して失敗する
    http://support.microsoft.com/kb/2661403/ja

  • メモ/ASP.NETから、ExcelファイルをPDFにする方法の調査

    ASP.NETから、Excel2010のPDF化機能を呼び出すことで、
    ExcelファイルのPDF化はできそうである。

    ただし、実行するサーバにExcel2010(Office2010)をインストールする必要あり。
    また、開発環境に該当するライブラリを読み込ませる必要もありそう。

    わかったことは、特定のセルに値を入れたり、
    Excelの内容をそのままPDF化することはできそうだ。
    今のところわからないのは、Excelの特定の場所に画像の挿入ができるかどうかということ。
    透過の話はあるが、できそうな気配はある。

    あと調べなくていけないのは、PDFのセキュリティ設定を行うことができるかどうか。

    ■参考URL

    VB.NET ExcelファイルからPDF出力
    http://tukaenai-pg.cocolog-nifty.com/blog/2012/05/vbnet-excelpdf-.html
    →これが本命。だけど、XLS形式なので、XLSX形式でやりたいところ。

    C#でExcelファイルをPDFに変換する
    http://d.hatena.ne.jp/JHashimoto/20120220/1329736026
    →C#でやる方法。C#でできるなら、VBでも可能なはず。

    ExcelファイルからPDFファイルやXPSファイルを作成する
    http://blog.powershell-from.jp/?p=965
    →これはPowerShell?を使用した方法。

    VB エクセル操作
    http://www.red.oit-net.jp/tatsuya/vb/Excel.htm

  • Windows 8 でAnyConnectを使用する方法

    Windows 8 では、Cisco のAnyConnectクライアントで接続できないというので、いろいろと調べて使えるようにしてみた。AnyConnectで使用するポートの名前に不具合があり、接続が確立できないようだ。Windows 8での接続は下記を参考に試してみてほしい。(稀に接続できないものもあるが、それはどっちかっていうと別の要因のようだ)

    ■検証に使ったもの

    AnyConnectのバージョン「2.5.2019」を使用して検証した。Windows は8のProを使用。

    ■表示されたエラーメッセージ

     AnyConnect was not able to establish a connection to the
     specified secure gateway. Please try connecting again.
    

    ■使用できるようにした手順。

    • AnyConnectのインストーラーを使用し、AnyConnectをWindows 8にインストール。この時、ウェブ画面からのインストールではなく、実行形式のインストールファイルをあらかじめ入手しておき、インストールを行う。
    • Windowsキー + R で「ファイル名を指定して実行」を開く。
    • regedit を入力し、レジストリエディタを開く。
    • [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\vpnva] を開く。
    • [DisplayName]を右クリックし、修正を選択。%やらなんやらいろいろと入っているので、下記のように修正する(既に入力されている文字列を後ろから探すとこの文字列があるので、いらないところだけ消すとよい。)
     Cisco AnyConnect VPN Virtual Miniport Adapter for Windows x64
    • 編集したらOKをクリック
    • Windows 8を再起動する(再起動しないと、レジストリの情報をAnyConnectのクライアントが読み取ってくれず、エラーがつづく。)
    • すべてのアプリから、「Cisco AnyConnect VPN Client」を右クリックし、「管理者として実行」する。環境によるものかもしれないが、管理者として実行しないとVPN接続できなかった。なお、Windows8起動後に、AnyConnectを一般ユーザで起動してしまった場合、管理者として実行しなおしても、なぜか失敗する。その場合は、再起動からやり直す。
    • 接続先にASAのアドレスを入れて接続する。これで、接続できるはず。

    ■参考URL

    http://blog.exchangegeek.com/2012/03/windows-8-cisco-anyconnect-vpn-client.html

  • LaCie 2big NASをVMware ESXi にiSCSI接続する

    LaCie 2big NAS(LCN-2BN4TE)をVMware ESXi に接続しようと四苦八苦したときのメモ。

    LaCie 2big NAS は低価格でiSCSI接続もできるNASだ。簡単な設定でNASの領域とiSCSIで使う領域を変更することができ、1つのハードで両方とも使用することができて、結構便利なNASだ。

    LaCieのNASをESXi 5.1.0にiSCSIディスクとして接続させようとしたがどうしてもiSCSI接続し、ディスクとして使用することができなかった。失敗した手順は、以下のようになる。

    1. NASの管理画面から、iSCSIの設定を行う。
    2. ESXiにvSphere Clientで接続し、”構成タブ”の”ハードウェア”から”ストレージ アダプタ”を選択。
    3. デバイスに、iSCSI Software Adapterを追加(作ったときはvmhba32となった)
    4. 追加したアダプタを選択し、プロパティを開く。
    5. プロパティの”動的検出”のタブから、下のほうにある”追加”ボタンをクリックする。
    6. ここでiSCSIターゲットのアドレスを聞かれるので、サーバ名もしくはIPアドレスを入力し、OKをクリックする(ここで指定するのは、LaCieのNASのホスト名もしくはIPアドレスだ)。すると、ストレージアダプタの詳細欄に、追加したNASが表示されるはずだが、表示されない。ここにNASの名前(ESXiが割り振った名前)や識別子が表示されていれば成功。失敗した場合には、表示されていない。”イベントタブ”をクリックし、ログを確認する。すると以下のようなログが出力されていた。
    7. vmhba34 上の iSCSI ターゲット iqn.1995-05.com.lacie:LaCie-2big-NAS.localhost:target1 へのログインに失敗しました。 iSCSI イニシエータはターゲットへのネットワーク接続を確立できませんでした。
    8. CHAPなどのログイン設定を変えたり、そもそも認証をやめてしまっても同じエラーが出力されて接続できなかった。

    いろいろと調べたが、iSCSIターゲットであるLaCieのNASにログインするところで失敗しているということしかわからなかった。NAS側の設定画面で設定できる項目はほとんどなく、CHAP関連のところも設定を変えて試したが結局失敗した。

    NAS側の問題ということもあるので、Windows 7 からiSCSIでNASに接続を行ったが問題なく使用できた。ESXiもバージョン4.0.0のホストがあったので試しに接続を試みたところ、上記の手順で問題なく認識された。4.0.0のホストでは、そのiSCSIディスクをVMFS3でフォーマットし、実際に仮想マシンを作って稼働させてみた。これについても問題はなし。

    結論。

    VMware ESXi 5.1.0 でLaCie 2big NAS (LCN-2BN4TE)は、iSCSI接続できない。理由はログインできないことだが、詳しい原因は不明。相性問題ということありえる。

    なお、VMware ESXi 4.0.0を使用すれば、LaCie 2big NAS (LCN-2BN4TE)は、iSCSI接続し、使用することができる。(4.1.0系と5.0.0系は試していないのでわからない。)

    iSCSI接続できるNASなら、VMwareに接続できると思っていたけれど、実際には接続できないこともあるようだ。安いiSCSIのドライブでがんばろうと考える場合でも、安全のためにVMware Ready (CERTIFIED)の認定がされているiSCSIドライブを使用したほうがいい。

    ちなみに、このNASはiSCSI領域を1つしか作れない。iSCSI領域に2つ以上の機器から接続することもできない。安いNASなので、そこらへんは仕方ないだろう。

  • Windows Server 2008 R2のDNSサーバ機能のルートヒントの更新方法

    DNSルートサーバ(D-Rootサーバ)のIPアドレス変更に伴い、ルートヒントのIPアドレスを変更する必要がある。

    Windows Server 2008 R2のDNSサーバでルートヒントを更新したので、その手順をメモしておく。(Active Directoryでは、DNSサーバも使用するので、AD環境の場合はちゃんと確認しておいたほうがよい。)

    ■更新作業の手順

    DNSマネージャーを開き、ルートヒントを更新したいDNSサーバを選択し、右クリックからプロパティを選ぶ。

    プロパティから、ルートヒントのタブを選択し、更新するネームサーバを選択する。今回は、d.root-servers.net.を選択し、編集をクリックする。

    ネームサーバーのレコード編集画面になるので、右上の方にある解決ボタンをクリックする。

    DNSサーバ側で、名前解決と検証を行い、IPアドレスが変更されるので、OKをクリックする。ここでは、「199.6.91.13」になっていれば、新しいIPアドレスに変更されている。

    以上で、ルートヒントの更新は終了。