【Management】Msgコマンドを使用すると「セッション名の取得エラー5」

前回の投稿で Msgコマンドを紹介しました。 【Windows7/Vista】ポップアップメッセージを送りたい(net send あらため msg.exe) 非常に便利なコマンドなのですが、規定ではリモートの Windows 7 や Windows Vistaに対してメッセージを送付することができません。例えば、以下のようなエラーが帰ってきます。 C:\>msg console /server:client01 “ログオフしてください~” セッション名の取得エラー5 これは、ターミナルサービスセッションに対するリモートからのRPC接続が無効に設定されているせいです。 リモートからのRPC接続を有効にするには、クライアントごとに以下のレジストリエントリを編集します。 キー HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server 値の名前 AllowRemoteRPC タイプ REG_DWORD 値 1 この設定はグループポリシーでは提供されておらず、残念ながら手動で設定する必要があります。 でも、この設定を1000台のクライアントに適用すると思うと、胃が痛くなりますね…。もしくはポリシーテンプレートを自分で作成しなければなりません。 でも大丈夫です。PowerShell 2.0 がインストールされていれば、必殺技を使うことができます。 以前以下の投稿をしました。 【Managemnt】WS2008 R2:ADMXファイルを作らずに業務アプリのレジストリ設定をグループポリシー化する 同様の手法を使用すれば、PowerShell のコマンドレット一発で、レジストリ設定をグループポリシーに組み込んでしまうことができます。手順を以下に示します。 Active Directory がインストールされたサーバーで PowerShell を起動してください PowerShell コンソールで「Import-Module GroupPolicy」と入力してください。これはグループポリシー関連のコマンドレットを読み込むための操作です。 グループポリシー管理コンソールで、ドメインの直下に新しいポリシーオブジェクトを作成してください。名前はなんでもけっこうです。ここでは「DemoPolicy」という名前で作成したとしましょう。 PowerShell コンソールから、以下のように Set-GPRegistryValue コマンドレットを入力します。 ※Set-GPRegistryValue 以降は1行で記述してください PS C:\>…

2

【Windows7/Vista】ポップアップメッセージを送りたい(net send あらため msg.exe)

ユーザーやドメイン内のコンピューターにポップアップメッセージを送付する場合に重宝していた net send コマンドは、Vista以降 msg.exe という新しいコマンドに置き換わっています。 知ってました?実は、私は全く知りませんでした…(恥)。やっぱり現場を離れるとだめですなぁ…。 で、Msg.exe コマンドの良いところは、ターミナルサービス(リモードデスクトップサービス)に対応している点です! 以下の画面では、管理者がセッション番号「1」でログオンしていることがわかります。 この場合には、以下のように入力します。 C:\> msg 1 “大変大変!!サーバーが死んだよ!” またはセッション名を使用して、以下のように書いてもOKです。 C:\> msg rdp-tcp#0 “大変大変!!サーバーが死んだよ!” 対話ログオンセッションに対して送付する際には、Console を使用します。 C:\> msg Console “大変大変!!サーバーが死んだよ!” もちろん、メッセージはログオンしていなくても表示されます。 面白いのは、/w オプションが用意されていることです。このオプションを使用すると、相手がポップアップメッセージのOKボタンをクリックするまで処理を止めることができます。 で、リモートコンピュータにメッセージを送る場合には1点注意がありまして、それについては次の投稿で。 ※2010/4/6 19:34 エラー発生時に対処法を投稿しました 【Management】Msgコマンドを使用すると「セッション名の取得エラー5」


【Management】JoinDomainOrWorkGroup メソッドでドメインに参加させる

前回、以下の投稿をしました。 【Management】DMZでのドメイン参加はオフラインドメインジョインで! オフライン ドメイン ジョイン 機能を使用することで、書き込み可能なドメインコントローラーと通信することなくドメインに参加させることができます。 ただ、難点があります。それは、Windows Server 2008 R2 および Windows 7でないと djoinコマンドが使えないということ…。 じゃ、それ以前のクライアントをRODC環境のドメインに参加させるにはどうしたらよいでしょうか。 WMIの Win32_ComputerSystem クラスには、JoinDomainOrWorkGroup メソッドが実装されています。でもって、なんと、このメソッドには NETSETUP_JOIN_READONLY = 2048 という大変魅力的な引数が用意されているのです。 JoinDomainOrWorkgroup Method of the Win32_ComputerSystem Class http://msdn.microsoft.com/en-us/library/aa392154(VS.85).aspx つまり、きちんと事前に準備を行い、このメソッドを使用したスクリプトを実行すればRODCしか無い環境であってもドメインに参加することができます。 では手順を以下に示します。 1)コンピューターアカウントを作成する Active Directory ドメインに参加させたいクライアントのコンピューターアカウントを作成します。「Active Directory ユーザーとコンピューター」を使用してもいいですし、net user ComputerName$ /add /domain net computer ComputerName /add(※ すみません間違えました。緒方さんご指摘ありがとうございました!)でも問題ありません。net user コマンドを使用する場合には、コンピュータ名の最後に「$」をつけることを忘れないでください。 2)コンピューターアカウントのパスワードを設定する 普段、あまりやらない作業ですが、大した処理ではありません。以下のようにコマンドラインから実行します。ユーザーのパスワードを設定するときと同じです。 net user ComputerName$ PASSWORD…


RODC環境でドメインに参加させるスクリプト

RODC環境でドメインに参加するためのスクリプト 実行書式は以下の通り。/readonly を忘れずに。 c:\> joindomain.vbs /domain <domainname> /mchinepassword <事前に設定したコンピューターのパスワード> /readonly —————————————————————————————–  ‘ JoinScript.vbs’ ‘     Script to join a computer to a domain.’     ” sub Usage   wscript.echo ” |————————————————|”   wscript.echo ” |   Joins a computer to a domain or workgroup    |”   wscript.echo ” |————————————————|”   wscript.echo “”   wscript.echo “Usage: ”   wscript.echo ” cscript JoinScript.vbs [/domain <domainname> |…


【IDM】Windows Server 2003/XP を RODC に対応させるための修正モジュール

Windows Server 2008 から実装されたRODC(読み取り専用ドメインコントローラ)ですが、RODCが設置されているドメインのメンバーまたはドメインコントローラである Windows Server 2003 や Windows XPが正しく動作しないことがあります。 以下の症状が見られる場合には、修正パッチが提供されていますので適用してみてください。 ソース Description of the Windows Server 2008 read-only domain controller compatibility pack for Windows Server 2003 clients and for Windows XP clients http://support.microsoft.com/kb/944043/en-us ※上記リンクの日本語訳で、WOWが「おっと」と訳されている部分があります。既にフィードバックしてしまったので、見るなら今です!(笑) 症状1 クライアントがRODCのみにアクセス可能なネットワークにおいて、グループポリシーのWMIフィルタが正しく適用されない。加えて、Gpsvc.log ファイルに以下のメッセージが出力されている。 GPSVC(410.8ec) 15:17:45:808 FilterCheck: Found WMI Filter id of: filter ID GPSVC(410.8ec) 15:18:21:838 FilterCheck: Filter doesn’t exist. Evaluating…


【Windows 7 RC】(細かい話)Prnmngr.vbs が無い!?いえいえ、あります…

Windows 7 RCがようやく公開されましたね。 で、細かい話で恐縮なのですが… XPから実装されている、Prnmngr.vbs をはじめとするプリンター関連スクリプトってお使いですか? prncnfg.vbs prndrvr.vbs prnjobs.vbs prnmngr.vbs prnport.vbs prnqctl.vbs pubprn.vbs ローカルプリンターを作ったり、設定変更したり、ドライバーをインストールしたり、ジョブを確認したりできる高機能なスクリプト群です。大変使い勝手がよいスクリプト達で、当然Windows 7でも実装されているだろうなと思って確認したところ… えぇぇえ、そんなばかなぁぁぁぁ。 これは、「グループポリシー基本設定を使え!」ということか?とイラっとしかけたところ…「あ、Vistaと同じか?」と思い当たりました。 案の錠、以下に置いてありました。 C:\Windows\System32\Printing_Admin_Scripts\ja-JP もぉぉぉぉっ!こういうところが少し嫌いです。 XP から Vista をスキップして Windows 7 に移行を計画されているエンジニアのみなさん…よろしくお願いいたします。


【Management】KMS(Key Management Service) に関する情報とTIPS

3月の投稿が少ないのですが、実は書きたいことがたくさんありすぎて…でも書くための「詰め」作業時間が取れず…。 ひとまず数ある書きたいことの中から、KMSについて拾い集めた情報をまとめておきたいと思います。 ■ 基本情報 KMSとはボリュームアクティベーションの仕組みですが、まだ KMS をご存じない方は、ひとまず以下をご覧ください。 【Windows Server 2008】Volume Activation 2.0 ~ あなたの Vista アクティベーションされてますか? ボリューム アクティベーション ガイド(ボリュームアクティベーションの基礎知識系) – BDD 2007 のボリューム アクティベーション ガイドの概要  – ボリューム アクティベーション計画の作成 – OEM アクティベーション – MAK アクティベーションの実装 – KMS アクティベーションの実装 – ボリューム アクティベーションの使用に関する問題をトラブルシュートする – Windows Anytime Upgrade ボリュームアクティベーションドキュメント(ボリュームアクティベーションの展開系) ボリューム アクティベーション 2.0 概要ガイド ボリューム アクティベーション 2.0 計画ガイド ボリューム アクティベーション…

1

【Management】ポリシーベースの QoS で遊んでみる

Windows Server 2008 で刷新された「ポリシーベースのQoS」を使ったことがある方、手を挙げてください。 あぁ、すくないですね。実は、私も一度も使ったことがありませんでした。 で、本当にこんな標準機能ごときで帯域制御なんてできるの?ってことで試しに使ってみました。 設定方法は簡単です。グループポリシー管理コンソールの「コンピュータの構成」または「ユーザーの構成」の配下にある [Windowsの設定] – [ポリシーベースのQos] にエントリを登録するだけです。 設定の手順は以下の通りです。非常に簡単です。 はじめにポリシーの名前を入れて、DSCP値とスロットル率を指定します。以下の画面ではスロットル率(帯域)に300kbps と指定してあります。つまり、このポリシーが適用されるコンピューターまたはユーザーは300Kbpsの帯域しか使えないということです。 つぎに、このポリシーの対象となるアプリケーションを指定します。ファイル転送等をおこなう業務アプリケーションのファイル名(.exe)を指定すれば、そのアプリの通信だけをQoSの対象とすることができます。今回は Internet Explorer のファイル名である iexplore.exe を指定しています。 次のページではQoSのターゲットとする「送信元」と「送信先」を指定します。必要に応じてIPアドレス等を指定してください。   最後に、QoSの対象とするポート番号です。これも、送信元と送信先を分けて指定することができます。今回は80番を指定しました。 ちなみに、Windows間のファイルコピーに使用するSMB(2008-Vista では SMB2)は、主に Port 445(送信先)が使用されますが、他にもいろいろな場面で使われるので、このポートで帯域を制限するのはお勧めできません….。   以上で設定は完了です。gpupdate /force でグループポリシーを適用したらさっそく通信してみましょう。 ここでは、インターネット上の SkyDrive に Internet Explorer から10MB程度のファイルをアップロードしてみました。 スロットル率 100Kbps と 500kbps それぞれの場合にパフォーマンスモニタでグラフを作成したものが以下です。明らかに違いが出ていることがわかりますね。無線LANの環境が遅いので、500kbpsの制限まで使い切っていませんが…。 次に、イントラネット環境におけるファイルのバックアップを想定した動きを試してみましょう。 バックグラウンドでファイル転送のプログラム(バックアップエージェント)が自動的に動くものと想定します。そして、業務時間中のバックアップサーバーとの通信を300Kbpsに制限したとします。業務時間が過ぎたら(例えば17時に)自動的にスロットル率を解放したらどうなるか?という実験結果です。 以下のように、ポリシーが適用された(スロットル率が解放された)瞬間にネットワーク使用率が跳ね上がっていることがわかります。 <--Recived でなくて Received ですね…お恥ずかしい 以下のグラフは、バックアップサーバー以外との通信がどうなるかを示したものです。グラフをご覧いただくとわかる通り、QoS対象以外との通信には制限が掛けられていないことがわかります。 どうでしょう?おもしろそうですよね。 ただ、以下の現象が見られました。うーんなんでだろう…ちょいと調査中です。 Windows Server…

1

【Management】WS2008 GPMC の[フォルダリダイレクト] に [ドキュメント] が見当たらない場合の対処(暫定)

謹賀新年 みなさま、新年あけましておめでとうございます。本年も、どうぞよろしくお願い申し上げます。 よい年末年始をお過ごしでしたか?私はと言えば、ずっと家にこもってピラミッド作りにいそしんでおりました。 さて、昨日の初出勤早々、タイトルの件で丸1日無駄にしました。 Windows Server 2008 でグループポリシー管理エディタ(GPMC)を使用して「フォルダリダイレクト」の設定をしようとすると、なんと「ドキュメント」がリダイレクトターゲットの一覧に表示されないのです。 英語情報を探してもなかなか情報が見つからず、やっとのことで以下の情報を探し当てました。 A Group Policy "Documents" setting is localized incorrectly as "Recently used files" on a computer that is running a Japanese version of Windows Server 2008 or of Windows Vista http://support.microsoft.com/kb/953407/en-us Vista および 2008 日本語版における障害により、「ドキュメント」が間違えて「最近使ったファイル」とローカライズされてしまっているとのこと….。いままで全く気付いていませんでした….お恥ずかしい…。日本国内の某SIer様からの報告で発覚した模様です。 #もしかしたら、MVP の 山近さん あたりが Windows Server World で書かれているような予感があるのですが #チェックしておりませんです…。 正式には、現在ベータテスト中の Service Pack…

1

【Management】より高度な PowerShell スクリプティング をバーチャルラボで習得

バーチャルラボはご存知ですよね。 マイクロソフトのサーバーに用意された仮想環境を使用して、実際に手元のコンピュータで動いているかのように製品を触ることができるサービスです。 マイクロソフト TechNet バーチャルラボ 英語版で恐縮なのですが、PowerShell 関連のラボが2件公開されているのでご紹介します。スクリプトの学習なので、あまり英語云々は気にならないです。 Advanced Windows PowerShell Scripting Managing Windows Vista with Windows PowerShell ■Advanced Windows PowerShell Scripting その名の通り、PowerShellのより高度な機能(のきっかけとなる技術)を習得するためのラボで、以下のような演習からなっています。知っていればどうってこと無い内容かもしれませんが、そこにたどり着くまでにあちこちのサンプルを探しまくるよりは、このラボを90分体験して習得してしまったほうが効率的です。超お勧めです。 Exercise 1 Creating Advanced Scripts with Windows PowerShell この演習では、PowerShellを使うに当たって必須の技術であるにもかかわらず、意外と「あれっ?」と思うような事項を学習します。 ー 変数の使い方 ースクリプトブロックの使い方 ーFunctionの使い方 Exercise 2 Using Windows PowerShell with WMI タイトル通り、WMI(この演習ではネットワークカードへのアクセス方法)を使用して、より幅広い情報にアクセスする手法を学びます。1つの例でアクセスの方法さえ覚えてしまえば、あとはその応用でいくらでも幅を広げられます。そのキーとなるのが Win32_ で始まるクラス名であり、その一覧はここ(MSDN)に書かれています。 Exercise 3 Scripting with .NET Objects .NET Framework を直接呼び出す方法について学習します。この演習では、ダイアログボックスを作って表示しています。 Exercise…