WIN1@Codename

Codename

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

Security Essentials

マイクロソフトより新しいウィルス対策ソフトが無料で公開されました。
「Microsoft Security Essentials」です。
http://www.microsoft.com/security_essentials/

これまで「Forfront Cliant Security」を使っていましたが、新し物好きとしてはこちらを使ってみたいということで早速ダウンロード&インストール
200905301009422.jpg

と思ったら、Forfront Cliant Security はアンインストールしておけとのこと。
設定するのに苦労した気もするのですが、それはそれ。

インストールは簡単に終了。
終了直後から自動更新とスキャンが開始します。
200901301009152.jpg
200902301009212.jpg

スキャン結果もとりえず問題なし。
こんな感じで常駐しています。
200914301009202.jpg

設定画面などForfrotn Cliant Security に比べレイアウトや設定ないようなどグレードアップしたように思えます。
もちろんリアルタイム保護もありますのでとりあえず大丈夫そうです。
200902301009462.jpg

無料ってことでこれは使えそうですね。 


スポンサーサイト

Hyper-V 仮想化検定 合格証

いただきました(笑)
20094529090951[2]

皆様もぜひ
https://www.microsoft.com/japan/windowsserver2008/technologies/mca/step2.aspx


Hyper-V をプログラムでどうにかしてみる その5 (いろいろな書き方)

すでにお気づきの方もいるかと思いますが、WMIにより制御構文ではコードを簡略化して書くことができます。

例えば、仮想マシンの起動では

Dim objObjectQuery As New ObjectQuery("SELECT * FROM Msvm_ComputerSystem WHERE ElementName = '" & strVMName & "'")
Dim objManagementObjectSearcher As New ManagementObjectSearcher(objManagementScope, objObjectQuery)
Dim objManagementObjectCollection As ManagementObjectCollection = objManagementObjectSearcher.Get
For Each objManagementObject As ManagementObject In objManagementObjectCollection
    Dim objParams As ManagementBaseObject = objManagementObject.GetMethodParameters("RequestStateChange")
    objParams("RequestedState") = 2
    Dim objManagementBaseObject As ManagementBaseObject = objManagementObject.InvokeMethod("RequestStateChange", objParams, Nothing)
    Console.WriteLine(objManagementBaseObject("ReturnValue"))
Next

 

この部分を

For Each objManagementObject As ManagementObject In New ManagementObjectSearcher(objManagementScope, New ObjectQuery("SELECT * FROM Msvm_ComputerSystem WHERE ElementName = '" & strVMName & "'")).Get
    Dim objParams As ManagementBaseObject = objManagementObject.GetMethodParameters("RequestStateChange")
    objParams("RequestedState") = 2
    Dim objManagementBaseObject As ManagementBaseObject = objManagementObject.InvokeMethod("RequestStateChange", objParams, Nothing)
    Console.WriteLine(objManagementBaseObject("ReturnValue"))
Next

 

このように簡略化して書くことができます。
さらにFor Each ~ Next を使用せずコレクションをずばり指定してこのように書くことも

 

Dim objIEnumerator As IEnumerator = New ManagementObjectSearcher(objManagementScope, New ObjectQuery("SELECT * FROM Msvm_ComputerSystem WHERE ElementName = '" & strVMName & "'")).Get.GetEnumerator
objIEnumerator.MoveNext() '最初のコレクションに移動
Dim objCurrentEnumerator As ManagementObject = objIEnumerator.Current
Dim objParams As ManagementBaseObject = objCurrentEnumerator.GetMethodParameters("RequestStateChange")
objParams("RequestedState") = 2
Dim objManagementBaseObject As ManagementBaseObject = objCurrentEnumerator.InvokeMethod("RequestStateChange", objParams, Nothing)
Console.WriteLine(objManagementBaseObject("ReturnValue"))

 

と、このように同じ結果でも様々なアプローチの仕方がありますので、場合により使い分けるのもよいですね。


VirtualServer Hyper-V (完全解決編)

以前紹介した、VirtualServer から Hyper-V への仮想マシンの移行方法でしたが、この場合一方通行で、Hyper-V から VirtualServer への移行方法が不明としておりましたが、
http://codename2010.spaces.live.com/blog/cns!EB9B628134936C1B!345.entry?&_c02_vws=1&fl=cat
ついに、移行方法を見つけることができましたので報告がてら。

通常、Hyper-V で稼動してる仮想マシンを VirtualServer 上で稼動させようとvhdファイルをコピーして仮想マシンを作成し、いざ起動してみると起動画面でカーソルが点滅したまま、フリーズ状態になってしまいました。
20094428080939[2]

この原因としては、Hyper-V上の仮想マシンとして作成したときにインストールされる「統合サービス」によりHALが書き換えられてしまうことが原因と考えられました。
そこで、統合サービスをアンインストールして、再度VirtualServer上で仮想マシンを作成したのですが、一度書き換えられてしまったHALは戻すことができませんでした。
と、ここまでが、前回までのお話でした。

今回は、ピーンときたひらめき、HALをなんとか元にもどすには・・・
そもそもVirtualServer上で稼動している仮想マシンからHALをコピーしてもってきてしまおう!ということで調べてみるとなにやら C:\Windows\System32\hal.dll があやしぃ。
そこで、VirtualServer上で稼動している仮想マシンのhal.dll をコピーして、Hyper-Vの仮想マシンにコピーした後 VirtualServer のホストにコピーしてVirtualServer の仮想マシンを作成してみることに。
 20093228080913[2]
20093628080907[2]

結果は・・・、見事起動に成功!
20094128080926[2]

ふぅーようやくケリをつけることができました。
これはある意味使えますね!


Hyper-V をプログラムでどうにかしてみる その4 (スナップショットの作成)

今回はスナップショットを作成します。

 

Imports System.Management

Dim objConnectionOptions As New ConnectionOptions()
objConnectionOptions.Impersonation = ImpersonationLevel.Impersonate
objConnectionOptions.EnablePrivileges = True
objConnectionOptions.Username = strAccount
objConnectionOptions.Password = strPassword
Dim objManagementScope As New ManagementScope("\\" + strServer + "\root\virtualization", objConnectionOptions)
objManagementScope.Connect()

For Each objVirtualSystemManagementService As ManagementObject In New ManagementObjectSearcher(objManagementScope, New ObjectQuery("SELECT * FROM Msvm_VirtualSystemManagementService")).Get
    For Each objComputerSystem As ManagementObject In New ManagementObjectSearcher(objManagementScope, New ObjectQuery("SELECT * FROM Msvm_ComputerSystem WHERE ElementName = '" & strVMName & "'")).Get
        Dim objParams As ManagementBaseObject = objVirtualSystemManagementService.GetMethodParameters("CreateVirtualSystemSnapshot")
        objParams("SourceSystem") = objComputerSystem.Path.Path
        Dim objManagementBaseObject As ManagementBaseObject = objVirtualSystemManagementService.InvokeMethod("CreateVirtualSystemSnapshot", objParams, Nothing)
        Console.WriteLine(objManagementBaseObject("ReturnValue"))
    Next
Next


ネットでスナップショットの作成のサンプルを探してみるとなかなか面倒な書き方をしているようですが、上のように結構シンプルにまとめることができました。


仮想ハードディスク(vhdファイル)をリアルサーバーにマウントする

Windows Server 2008 R2 と Windows7 では vhdファイル を物理ディスクとしてマウントすることができるようになりました。
しかも、ネットワーク越しのvhdファイルでもマウントできましたので、その報告です。

まずはサーバーマネージャーより、「記憶域」-「ディスクの管理」を右クリックし「VHDの接続」を選択します。
20092726050903[2]

次に、「仮想ハードディスクの場所」として、vhdファイルを指定します。
このとき、ネットワーク越しのパスでも指定可能でした。
20092726050918[2]

無事マウント完了。
ディスクのアイコンが青いのがvhdファイルである目印のようです。
20092726050943[2]
   

ネットワーク越しはパフォーマンスには問題ありそうですが、バックアップファイルがvhdファイルとして作成されている場合などは便利そうですね。


Hyper-V をプログラムでどうにかしてみる その3 (仮想マシンの起動/シャットダウン)

今回は仮想マシンの起動とシャットダウンです。
VBScriptのサンプルは結構ネットで探すことができるのですが、.NETのコードとなるとなかなかありませんので、参考になればと思います。

まずは起動から。

 

Imports System.Management

Dim objConnectionOptions As New ConnectionOptions()
objConnectionOptions.Impersonation = ImpersonationLevel.Impersonate
objConnectionOptions.EnablePrivileges = True
objConnectionOptions.Username = strAccount
objConnectionOptions.Password = strPassword
Dim objManagementScope As New ManagementScope("\\" + strServer + "\root\virtualization", objConnectionOptions)
objManagementScope.Connect()

Dim objObjectQuery As New ObjectQuery("SELECT * FROM Msvm_ComputerSystem WHERE Caption LIKE '仮想マシン'")
Dim objManagementObjectSearcher As New ManagementObjectSearcher(objManagementScope, objObjectQuery)
Dim objManagementObjectCollection As ManagementObjectCollection = objManagementObjectSearcher.Get
For Each objManagementObject As ManagementObject In objManagementObjectCollection
    If objManagementObject("ElementName") = strVMName Then
        Dim objParams As ManagementBaseObject = objManagementObject.GetMethodParameters("RequestStateChange")
        objParams("RequestedState") = 2
        Dim objManagementBaseObject As ManagementBaseObject = objManagementObject.InvokeMethod("RequestStateChange", objParams, Nothing)
        Console.WriteLine(objManagementBaseObject("ReturnValue"))
    End If
Next


ポイントは objParams("RequestedState") = 2 の部分です。
この2の値は前回のステータス取得の EnabledState の値と同じです。
こちらをたとえば 3 にすると仮想マシンをオフ(停止)にすることができます。

次にシャットダウンです。
こちらはステータス一覧にはないので、Msvm_ShutdownComponent クラスを利用します。

 

Imports System.Management

Dim objConnectionOptions As New ConnectionOptions()
objConnectionOptions.Impersonation = ImpersonationLevel.Impersonate
objConnectionOptions.EnablePrivileges = True
objConnectionOptions.Username = strAccount
objConnectionOptions.Password = strPassword
Dim objManagementScope As New ManagementScope("\\" + strServer + "\root\virtualization", objConnectionOptions)
objManagementScope.Connect()

Dim objObjectQuery As New ObjectQuery("SELECT * FROM Msvm_ComputerSystem WHERE Caption LIKE '仮想マシン'")
Dim objManagementObjectSearcher As New ManagementObjectSearcher(objManagementScope, objObjectQuery)
Dim objManagementObjectCollection As ManagementObjectCollection = objManagementObjectSearcher.Get
For Each objComputerSystem As ManagementObject In objManagementObjectCollection
    If objComputerSystem("ElementName") = strVMName Then
        For Each objShutdownComponent As ManagementObject In New ManagementObjectSearcher(objManagementScope, New ObjectQuery("SELECT * FROM Msvm_ShutdownComponent WHERE SystemName='" & objComputerSystem("Name") & "'")).Get
Dim objParams As ManagementBaseObject = objShutdownComponent.GetMethodParameters("InitiateShutdown")
objParams("Force") = True
objParams("Reason") = ""
Dim objManagementBaseObject As ManagementBaseObject = objShutdownComponent.InvokeMethod("InitiateShutdown", objParams, Nothing)
Console.WriteLine(objManagementBaseObject("ReturnValue"))
        Next
    End If
Next

 

こちらも細かい解説は省きますが、こんな感じでシャットダウンできるのだと分かればよいかなと思います。


Hyper-V をプログラムでどうにかしてみる その2 (仮想マシンの状態一覧の取得)

今回は仮想マシン(ゲストOS)の状態一覧を取得してみます。

Imports System.Management

Dim objConnectionOptions As New ConnectionOptions()
objConnectionOptions.Impersonation = ImpersonationLevel.Impersonate
objConnectionOptions.EnablePrivileges = True
objConnectionOptions.Username = ""
objConnectionOptions.Password = ""
Dim objManagementScope As New ManagementScope("\\\root\virtualization", objConnectionOptions)
objManagementScope.Connect()

Dim objObjectQuery As New ObjectQuery("SELECT * FROM Msvm_ComputerSystem WHERE Caption LIKE '仮想マシン'")
Dim objManagementObjectSearcher As New ManagementObjectSearcher(objManagementScope, objObjectQuery)
Dim objManagementObjectCollection As ManagementObjectCollection = objManagementObjectSearcher.Get
For Each objManagementObject As ManagementObject In objManagementObjectCollection
    Dim intState As Integer = objManagementObject("EnabledState")
    Dim strState As String = ""
    Select Case intState
        Case 0
            strState = "Unknown"
        Case 2
            strState = "Enabled(実行中)"
        Case 3
            strState = "Disabled(オフ)"
        Case 32768
            strState = "Paused(一時停止)"
        Case 32769
            strState = "Suspended(保存完了)"
        Case 32770
            strState = "Starting(復元中)"
        Case 32771
            strState = "Snapshotting"
        Case 32772
            strState = "Migrating"
        Case 32773
            strState = "Saving"
        Case 32774
            strState = "Stopping"
        Case 32775
            strState = "Deleted"
        Case 32776
            strState = "Pausing"
        Case Else
            strState = "不明なステータス " & intState
    End Select
Console.WriteLine(objManagementObject("ElementName") & ":" & strState)


Hyper-V をプログラムでどうにかしてみる その1 (仮想マシン一覧の取得)

Hyper-V をプログラムで制御するにはWMIを利用することになります。

参考:http://msdn.microsoft.com/en-us/library/cc136986(VS.85).aspx

こちらを利用してHyper-Vを自動化・リモート制御などしてみようというのが目的です。

まずは基本となる構文から。
ホストサーバー上のゲストOS名の一覧を取得します。

Imports System.Management

Dim objManagementScope As New ManagementScope(\\.\root\virtualization)
objManagementScope.Connect()

Dim objObjectQuery As New ObjectQuery("SELECT * FROM Msvm_ComputerSystem WHERE Caption LIKE '仮想マシン'")
Dim objManagementObjectSearcher As New ManagementObjectSearcher(objManagementScope, objObjectQuery)
Dim objManagementObjectCollection As ManagementObjectCollection = objManagementObjectSearcher.Get
Dim strMsg As String
For Each objManagementObject As ManagementObject In objManagementObjectCollection
    strMsg += objManagementObject("ElementName") & vbCrLf
Next
MsgBox(strMsg)

上記の例ではHyper-Vのホスト上、つまりローカルで制御する場合となります。
リモートからHyper-Vの制御を行う場合は認証情報を付加する必要があります。

Imports System.Management

Dim objConnectionOptions As New ConnectionOptions()
objConnectionOptions.Impersonation = ImpersonationLevel.Impersonate
objConnectionOptions.EnablePrivileges = True
objConnectionOptions.Username = ""
objConnectionOptions.Password = ""
Dim objManagementScope As New ManagementScope("\\\root\virtualization", objConnectionOptions)
objManagementScope.Connect()

Dim objObjectQuery As New ObjectQuery("SELECT * FROM Msvm_ComputerSystem WHERE Caption LIKE '仮想マシン'")
Dim objManagementObjectSearcher As New ManagementObjectSearcher(objManagementScope, objObjectQuery)
Dim objManagementObjectCollection As ManagementObjectCollection = objManagementObjectSearcher.Get
Dim strMsg As String
For Each objManagementObject As ManagementObject In objManagementObjectCollection
    strMsg += objManagementObject("ElementName") & vbCrLf
Next
MsgBox(strMsg)

各オブジェクトの詳細などは省いて、まずはこんな感じでコードを書いてゆくというのがわかればOKかなと思います。


ForeFront Client Security の WindowsUpdate が失敗する場合の回避方法

ForeFront Client Security は基本的にはWindowsUpdate で定義ファイルやバージョンが最新のものに維持されることになっていますが、
KB971026 に関してはWindowsUpdateではエラーとなってしまう場合があります。
20090717120922[2]

この場合は、手動で該当ファイルをダウンロードしインストールする必要があります。

ForeFront Client Security を起動し、「ダウンロード」を選択します。

一覧から、「Microsoft Forefront Client Security の更新 (KB971026) 」を"追加"します。
20093417120938[2]

ダウンロードしたファイルには他国語、x86、x64のファイルがありますので該当するファイルを実行します。

これで アップデート完了です。 最新バージョンとなりました。
20093817120921[2]


Forefront Client Security を Windows7 にインストール

ウィルス対策ソフトですが、マイクソフト純正の Forefront Client Security が Wondows7 に対応しているとのことで早速インストールを実施。

今回は Windows7 マシン単体のインストールなので、管理サーバーなど必要ありません。
インストール方法は、FroreFrontのメディア内の ”CLIENT” フォルダ内(x64の場合は"CLIENT\X64")の CLIENTSETUP.EXE に "NOMOM" スイッチ付けてを起動します。

例)D:\CLIENT\CLIENTSETUP.EXE /NOMOM

ですが、このままだとエラーが出て失敗してしまいます。
 20095517100937[2]

そこで、 CLIENTSETUP.EXE のプロパティーより「特権レベル」-「管理者としてこのプログラムを実行する」 にチェックを入れて再度実行します。

今度は大丈夫です。無事インストール完了。
20095217100911[2]

早速リアルタイム保護を有効に(デフォルトでオンの状態です)。
20095217100952[2]

どりあえず、これで一安心。 


仮想ハードディスク vhdファイルのパフォーマンス

hyper-V2.0になり、容量可変のDiskパフォーマンスがアップしたということなのでベンチマークをとってみました。

容量可変、固定それぞれ1GBの仮想ハードディスクを作成します。
20093214110901[2]


このファイルを、「サーバーマネージャー」-「記憶域」-「ディスクの管理」を右クリックし、 サーバーのハードディスクドライブとしてマウントします。
20093214110942[2]
 

Xドライブが容量可変 Zドライブが容量固定 で作成した1GBの仮想ハードディスクです。
 20093514110914[2]

今回はベンチマーク測定を"CrystalDiskMark"で行いました。

まずは容量可変のXドライブから
20091214120928[2]
  

次に容量固定のZドライブ
 20091214120937[2]

参考までに回転数15000のSAS300GBの物理ハードディスクの結果です。
20091314120956[2]
    

結果の数値は毎秒どれだけシーケンスアクセス、ランダムアクセスのRead/Writeをそれぞれ5回づつテストをした平均値ということになります。

小さいファイルのランダムRead/Writeでは容量固定に分があるものの、他の部分では容量可変の方がほぼよい結果となっています。
さらに、物理ハードディスクと比べてみても見劣りしない結果となっています。

結論、「容量可変のほうが総合的にみてパフォーマンスはよい」ということになりました。


SQL Server 2008 Express で外部接続を有効にする方法 その2

以前に「SQL Server 2008 Express で外部接続を有効にする方法」を紹介しましたが、これはSQLサーバーの使用するポートが起動時に動的に決められるものでした。

ファイヤーウォール越しにSQLサーバーに接続したい場合などは、規定ポートの1433に固定する必要があります。
今回は固定(静的)ポートの設定方法です。

スタートメニューより、「SQL構成マネージャ」にて「SQLサーバーネットワークの構成」-「DBのプロトコル」を選択します。
「IPアドレス」タブを選択し、一番下の「IPAll」にて、「TCPポート」に "1433" と入力します。
 20090009060955[2]

固定ポートを使用する場合は「SQL Server Browser」サービスは必要ありませんので停止しておきます。

これで、TCP1443ポート固定でSQLサーバーと接続できるようになります。


IIS7.5のWebDavの公開・設定方法

Windows Server 2008R2のIIS7.5からは標準でWebDavが実装されるようになりました。
そこでWevDavの公開方法と設定方法をまとめてみました。

新たにサイトをIISにサイトを作成します。
このとき、コンテンツフォルダにはWebDavで使用するアカウントに「変更」以上のアクセス権を設定します。
今回は "Administraiotor" をWevDavユーザーに指定しますので、フルコントロールを設定しました。
 20095408100926[2]

IISマネージャーより、「WebDavオーサリング規則」を選択します。
20093908100947[2]

「オーサリング規則の追加」を選択し、 WebDavのアクセス設定を行います。(ファイルアクセス権とは別です)
今回はAdministratorにすべての権限を付与します。
20094008100903[2]

次に、IISマネージャーより「認証」を選択します。
20094008100918[2]

インターネット経由で接続するので、「基本認証」 を選択します。
また、ここがポイントですが、「匿名認証」は無効とします。(詳細後述)
セキュリティーを重視するのであれば、WebDavに公開するサイトはSSLを使用した接続をお勧めします。
20094308100926[2]

これで、サーバー側のWebDav設定は完了です。

 

WebDavを使用するクライアント側の設定方法です。
IE8からはWebDavをブラウザ経由でアクセスすることができなくなってしまいましたので、ネットワークフォルダとして利用します。
エクスプローラーから「ツール」-「ネットワークドライブの割り当て」を選択します。
表示されたダイアログの一番下にある「ドキュメントと画像の保存に使用できるWebサイトに接続します。」を選択します。
20090308110911[2]

ネットワークウィザードが開始されますので、指示に従いネットワークの場所を設定します。
「インターネットまたはネットワークアドレス」は先ほど作成したWebDavサイトのURLとなります。
例: http://webdav.test.com
20090908110958[2]

これで完了です。
以降はエクスプローラーからWebDavフォルダが使用可能です。

IE7以前のバージョンではIEよりWebDavに接続可能です。
IEのファイルメニューより、「開く」を選択します。
WebDavのURLを入力し「Webフォルダとして開く」にチェックを入れれば完了です。
20091408110902[2]

 

  さて、先ほど、WebDavのIIS側の設定にて認証方法で「匿名認証」を無効としました。
「匿名認証」が有効の場合、特定のユーザーにWebDavを使用させることができなくなります。
しかし、Webサイトを通常のコンテンツ公開サイトとして使用するには「匿名認証」を有効にしなければなりません。
WebDavをWebサイトのコンテンツアップロードを行うために使用し、なおかつ通常のWebサイトとして使用するにはIIS上で2つのサイトを作成する必要があります。

ひとつはWebDav専用サイトとして、「匿名認証」を無効としたもの、
もうひとつは、WebDavサイトと同じコンテンツフォルダを参照した、「匿名認証」を有効にした通常のWebサイトを作成します。
ここでは省略しますが、ホストヘッダーで分ける方法や、IPアドレスで分ける方法などありますので使用環境により使い分けてサイトを作成してください。
20092308110911[2]

以上で、IIS7.5にてWebDavが使用可能となります。

 

追記:
WebDavに接続する場合に、クライアント側でWebDavサーバーに接続できないといったエラーが出る場合があります。
20094909080938[2]

この場合の回避方法は、まずIISのWebDavのサイトの認証設定に、「Windows認証」を追加します。
 20095309080929[2]

そして次に、クライアント側で「WebClient」サービスを再起動します。
20095909080940[2]

この設定を行った後、再度WebDavフォルダの追加を行います。
これでようやく、WebDavフォルダを使用することができるようになります。 

クライアントは同じWindows7を使用しているのですが、WebDavフォルダにアクセスできるものと、できないものがありました。
この接続エラーの原因は不明ですが、おそらく認証方法が問題となっていると思われます。
http://support.microsoft.com/?kbid=841215

にしても、なかなか手ごわいです・・・。


スナップショットを手動で結合する

Hyper-Vではスナップショットという便利な機能があります。
スナップショットを作成すると.avhdという差分ファイルが保存されます。
なんらかの問題で、稼働中の仮想マシンのスナップショットをHyper-Vマネージャーで結合できなくなった場合、
たとえば、誤って仮想マシンをHyper-Vマネージャから削除してしまった場合など、
これまでのスナップショットを結合してひとつのvhdファイルにまとめたい場合など、手動で結合することができます。

今回はWindows7のスナップショットを2世代作成した状態で行いたいと思います。
20094708100951[2]

この状態では、avhdファイルが二つ作成されています。
20095308100919[2]
  

元のvhdに結合するためには最新のavhdファイルから順を追って結合してゆく必要があります。
まずは、最新のavhdファイルと、ひとつ古いavhdファイルを結合します。

Hyper-Vマネージャーよりサーバー名を右クリックして「ディスクの編集」を選択します。
20094308100925[2]

vhdファイルの場所を聞いてきますので、この場合は最新のavhdファイルを指定します。
20090108110938[2]

次に「結合」を選択します。
20094508100939[2]

次に、「親仮想ハードディスクに結合」を選択します。
親仮想ハードディスクは自動的に選択されています。(もうひとつのavhdファイル)
20094608100946[2]

これで、2つのスナップショットファイルのavhdがひとつに結合されました。   

今度は元のvhdファイルと結合したスナップショットファイルavhdを結合します。
やり方は先ほど同様に、まずは結合したてのavhdファイルを指定します。
20094508100902[2]

次に結合を選択します。
20094508100939[5]

次に、「親仮想ハードディスクに結合する」を選択します。
親仮想ハードディスクは自動的に選択されています。(元のvhdファイル)
20094608100946[5]

これで完了です。

スナップショットで取得した変更がすべて元のvhdファイルに適用されることになります。

注意すべき点としては、ファイルの結合は新しいものからひとつ古いファイルといった順に結合してゆくことになります。


SQL Server Management Studio を使用してテーブル操作をする場合にタイムアウトの時間を変更する方法

SQL Server Management Studio を使用して時間のかかる作業をしようとするとタイムアウトのエラーメッセージが表示されることがあります。
 20095406030945[5]

この場合の対処方法として、Management Studio を使用した場合のタイムアウトの時間を延ばす必要があります。
Management Studio の「ツール」-「オプション」-「デザイナ」-「テーブルおよびデーターベースデザイナ」
から、「トランザクションがタイムアウトするまでの時間」を延長します。
20095606030940[2]

これで時間のかかる作業もタイムアウトせず完了させることができます。

<参考>
http://support.microsoft.com/kb/915849/ja


アプリケーションプールのセキュリティーアカウントとASP.NET偽装

IIS6ではアプリケーションプールを実行するアカウントを、任意のアカウントに変更することができました。
この設定で、たとえばブラウザ経由でサーバー上のローカルファイルの操作などを行うときに強い権限を持ったユーザーを指定することで可能にすることができます。

この設定方法は、「アプリケーションプール」のプロパティーより「識別」から行うことができます。
20093406120952[2]

これど同様の設定をIIS7で実現しようと思ったのですが、IIS7のアプリケーションプールには同様の項目がみあたりません。
IIS7では各サイトの「認証」より「ASP.NET偽装」の「特定ユーザー」を指定し有効にすることで同様の設定が可能です。
20094406120938[2]


SQL Server 2008 Express で外部接続を有効にする方法

プログラムからSQL Server 2008 Express にODBCで接続する方法です。

結構この設定でとまどっている方も多いようですが、ご多分にもれずてこずりました。

そもそも、インストールしたばかりの状態では外部接続が有効になっていません。
まずは、SQL Server Management Studio より、サーバー名を右クリックして、プロパティーを選択します。
20091103050950[2]

プロパティー内の「接続」で、「このサーバーへのリモート接続を許可する」にチェックを入れます。
20091203050914[2]

次に、スタートメニューより、「SQL構成マネージャ」にてクライアントプロトコルのTCP/IPを有効にします。
20091703050938[2]

そして、最後に管理ツールの「サービス」より、 「SQL Server Browser」サービスを有効にします。
ここが結構はまりどころかもしれません。
20091803050922[2]

以上で、無事ODBC接続ができるようになりました。

 

追記: SQL Server 2008 Express で外部接続を有効にする方法 その2


Windows Server 2008R2 の IIS に FrontPage Server Extension をインストールできません。

IIS6 までは標準で実装されていたFrontPage Server Extention(FPSE) ですが、IIS7 からは標準で実装されていません。
Visual Studio を使用してaspxのコンテンツをアップする場合はFPSEがIISにインストールされていると非常に便利です。
FPSEをIISで利用するには、別途ダウンロードして、インストールする必要があります。

http://technet.microsoft.com/ja-jp/library/dd939078.aspx こちらを参照すると

FrontPage 2002 Server Extensions for IIS 7.0 は
http://www.iis.net/downloads/default.aspx?tabid=34&g=6&i=1630
よりダウンロードできます。

Windows Server 2008 では実際にインストールして使用していたので、今回も同様に
ダウンロードしたファイルを実行してインストールすると・・・
 20092202090950[2]

ん? 完了画面が表示されません。
本来であれば、IISにFPSEの管理サイトが作成されるはずですが、見当たりません。
管理ツールの中にもそれらしき物が見当たりません。
20093402100959[2]

owsadm.exe を使用してコマンドでFPSEの設定を試みてもエラーとなってしまいます。

と、気になる記事を発見
http://forums.iis.net/p/1160144/1913961.aspx
http://forum.dotnetpanel.com/forums/t/5938.aspx

"Windows 7 and the FrontPage Server Extensions

    *Windows 7 is NOT presently a FrontPage Server Extension supported platform.  The FrontPage Server Extensions are intended for Windows Server 2008 and most Vista operating systems.

      At this time there is no plan to support the FrontPage Server Extensions on the Windows 7 operating system."

え・・・。

とういうことは IIS7.5 の 2008R2 もダメということですよね。

うーむ。困りました。


II7の匿名認証アカウントがIIS6と異なる件に関して

IIS6では IUSR_<サーバー名> というアカウントがIISの匿名認証時に使用されていました。
このアカウントはIISインストール時に自動的に作成されます。
IIS7ではこのアカウントは作成されず IUSR というセキュリティープリシパル と呼ばれるものに変更されました。
20090102060917[2]
 

20095602050950[2]

グループ名をみてみると IIS_IUSRS といういかにもな名前のユーザーグループが存在しますが、こちらはIIS6までの IIS_WPG グループに相当するもので、w3wp.exe を稼動するグループアカウントとなりますのでお間違えのないように。
20090202060945[2]


リモートデスクトップがマルチモニタに対応

Windows Server 2008R2 ・ Windows 7 からリモートデスクトップでマルチモニタに対応できるようになりました。

しかも、二つのディスプレイの解像度が異なる場合でも利用できるようです。

マルチモニタを使用するには、リモートデスクトップ接続の設定で「リモートセッションですべてのモニターを使用する」のチェックを入れます。
rd[2]

この設定で接続するとマルチモニタ環境で簡単に接続できました。

メインのモニタの右端にウィンドウを移動すると、もうひとつのモニタに移動することができます。


FC2Ad

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。