サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
アメリカ大統領選
www.vwnet.jp
Hyper-Vのネットワークはシンプルシンプルな構成ですが、Hyper-Vビギナーさんがよくハマるのもネットワークです。 これは、Hyper-Vが提供しているネットワークがどのようなコンポーネントで構成され、どのような役割を持っているのか、UI がどのコンポーネントを設定しているのかがよくわらない事が原因になっています。 (「TCP/IP って食べられるの?」って方は今回対象外ですので悪しからず) Hyper-Vを使いこなすための必須知識である Hyper-V ネットワークの基本的な仕組みを整理してみましょう。 Hyper-V ネットワークが提供するネットワーク コンポーネント Hyper-V のネットワークは「仮想NIC」と「仮想スイッチ」として提供されているのですが、Hyper-V ビギナーが陥りがちなのが「仮想NIC」と「仮想スイッチ」をごっちゃに捉えてしまう点です。 PC の NI
自動実行するタスクスケジュールは運用に欠かせない機能の一つですが、実行アカウントに Administrator が使われているケースが思いのほか多いです。 しかし、これは思わぬトラブルを招きます。 例えば、セキュリティの理由で Administrator アカウントを無効にすることがありますし、パスワード変更することもあります。 このような場合、スケジュール登録されたタスクは実行失敗になります。 また、ワークグループ環境だとスケジュール再設定する際にパスワードの再入力が必要なので、パスワードが必要以上に拡散されてしまいセキュリティリスクも高くなります。 実行アカウントにユーザーアカウントが必要なケースはほとんどありませんので、ビルトインアカウントである「SYSTEM」を使うのがお勧めです。 SYSTEM アカウントは管理権限を持っているので、管理権限が必要なタスクも実行可能です。 また、パ
特定 TCP ポートが開いているかを確認するには telnet でポート番号を指定して接続できるか確認するのですが、PowerShell スクリプトだとこの方法は使えません。 Windows 8.1 / Windows Server 2012 R2 以降であれば、Test-NetConnection で確認することができます
PowerShell Vertion 5 から PowerShell での Class がサポートされました。 まずは脱線から(おぃ) その昔、僕は C でコードを書いていました。まだ世の中に C++ が生まれる前って石器時代の話ですけど ww 当時オブジェクト指向プログラミング言語が生まれ始めていたのですが、それが C にもやってきて C++ が登場したのです。 ここで新たに登場したのが Class 新しもの好きなので速攻で食いついて C++ を使い始めて Class の便利さを知ったのですが、他のプログラマーにクラスを説明するのが大変で... そんなこんなで、従来の PowerShell スタイルの .ps1 を書いている方向けに、超簡単な PowerShell class 説明書いてみることにしました。 Class のざっくり説明 オブジェクト指向プログラミングに馴染みが無いと、「C
PowerShell のコマンドレットは、エラー発生時に赤文字でエラーメッセージを表示します。 対話処理をしているときはこれで問題無いのですが、スクリプトでこれが発生した時に try catch でトラップしたいことがあります。 ところが、コマンドレットで発生するのはエラーであって、例外ではないため try catch ではトラップできません。 例えば、Rest API 叩くために Invoke-RestMethod 使って、エラーが帰ってきても赤色のエラーメッセージが表示されるだけです。 そんな時は、-ErrorAction オプションに Stop を指定すれば、エラー時に例外を throw してくれるので try catch でトラップできます。 例外発生時のメッセージは、$_.Exception.Message に格納されているので、これを使えばエラーメッセージをハンドリングすること
Windows 10 の Edge や設定等の UWP(Universal Windows Platform) アプリは、通常の .exe と違って、実行ファイルを叩いただけでは起動できません。 コマンドラインからどうにか起動できないかと調べていたら、Start-Process コマンドレットで起動できることが分かりました。 例えば、Edge を起動するときはこんな感じです。 Start-Process shell:AppsFolder\Microsoft.MicrosoftEdge_8wekyb3d8bbwe!MicrosoftEdge この、PackageFamilyName と ApplicationID は、Get-AppxPackage と Get-AppxPackageManifest で確認できます。 # PackageFamilyName (Get-AppxPackage
Windows Update とかの通知をメールではなくチャット ツールに Web API でメッセージ飛ばそうとしていたのですが、slack だとうまくいかず... (僕の英語力不足で URI とか鍵発行がうまくできす > <) そうこうしていたら Microsoft Teams が無料提供になったので、Teams にメッセージ飛ばしてみました。 Microsoft Teams を無料で https://products.office.com/ja-jp/microsoft-teams/free Teams は、マイクロソフト アカウントで登録すれば良いので、使い始めるのは難しくありません。 URI の発行 Microsoft Teams API は URI だけでハンドリングできるので、アクセス用の URI を発行します。 Windows Update 通知が目的だったので、専用のチャ
PowerShell だけで処理しているときには、文字コードが default の UTF-8 になっていても問題無いのですが、PowerShell 以外と連携する際に文字コードの違いが問題になることがあります。 ファイル出力の Out-File とかには -Encoding オプションがあるので、S-JIS にするのであれば Default を指定すれば S-JIS で出力されます。 ところが、オンメモリーで文字コードを変更するにはファイル出力コマンドレットは使えません。 そんな時は、こんな感じで .NET Framework の System.Text.Encoding を使って文字コード変換します。 function Conv2SJIS($UTF8String) { $ByteData = [System.Text.Encoding]::UTF8.GetBytes($UTF8Stri
AzureAD(AAD) の条件付きアクセスで IP アドレス制限をする場合、一般的な「この IP アドレスを許可する」といった感覚と少々違うので、メモに残します。 ※ 条件付きアクセスを使用するには、AzureAD を AzureAD Premium (P1 or P2) にアップグレードする必要があります 違いと価格はこちらをどうぞ 料金 - Active Directory | Microsoft Azure https://azure.microsoft.com/ja-jp/pricing/details/active-directory/ 条件付きアクセスの IP アドレス制限の考え方 AAD の条件付きアクセスは、「割り当て」で対象を特定し、「アクセス制御」で対象に対してどう制御するかのポリシーを作成します。 一般的な IP アドレス制御だと、「特定 IP を指定して、アクセス
翔泳社から発刊されていた DB マガジン の2010年8月号第2特集「そこが知りたいネットワーク超入門」の生原稿を元にした内容です。DB エンジニアを想定した内容なので、「IPアドレス」って言葉すら初めて聞かれる方には少し難しいかもしれませんが、トラブルシューティングを目的として来られた方は、続きのコンテンツである「はじめてのネットワークトラブルシューティング」だけを見ていただいても良いかと思います。 ネットワークはなぜつながるのか? ネットワークと聞いて「何やら小難してよくわからない」と思われている方は意外と多いが、ネットワークとは至ってシンプルな考え方で成り立っているのだ。シンプルだからこそインターネットは全世界に普及しているし、ほぼすべての通信は IP 上に実装されている。 インターネットの中核を担っているIPも至ってシンプルな考え方で実装されている。 IP の視点からネットワーク上
久しぶりに VS Code 入れてみたら、びっくりするくらい環境設定が簡単になっていました。 以前の VS Code を日本語化するには、いろいろ設定を変更する必要があってのですが、拡張をただ入れるだけで、設定変更をする必要はほとんどありません。 VS Code のインストール VS Code は、以下ページからダウンロードしてインストールします。 Windows 環境だけではなく、マルチプラットフォーム対応していますので、Linux や Mac 上でも使えます。 実際に、Linux 使いの方は、Mac 上に VS Code 入れて開発や環境構築されている方が多いです。 Visual Studio Code https://code.visualstudio.com/ インストールは普通のインストーラー形式なので悩むことはないでしょう。 VS Code の日本語化 VS Code の日本語
Windows 10 Hyper-V は検証環境を構築するのに便利が良いので、使われている方も多いかと思います。 VM とのファイル共有であれば、拡張セッションでコピペしたり、ドライブリダイレクトでホストとVMでデータ授受が可能ですが、Web カメラ等の非ストレージ USB デバイスを VM に渡すことができません。 この問題を解決するのが「RemoteFX USB リダイレクト」です。 RemoteFX USB リダイレクトを有効にするには、接続先(VM)に Windows 10 Enterprise が必要です。(Pro は NG) 接続元(Hyper-Vホスト)は Pro でもリダイレクトは可能でした。 この制限は、RemoteFX が VDI のための機能だからと思われます。 x86 と x64 のクロスプラットフォームでのリダイレクトができるかは確認していませんが、要らぬトラブル
Windows 10 は Windows Update で機能が更新されるので、ビルド番号の変化をしばらく追っかけてみることにしました。(x64を使用) ビルド番号はレジストリをチェックしています。 ビルドの違い Insider Preview Canary Channe 2023/03/07 に新設されたChanne 高度な技術を持つユーザー向け(人柱用) 2023/03/08 Dev が Canary に名称が変更された Bbuild 25000 番台からスタート Insider Preview Dev Channel 一般リリース前のビルドを評価する(人柱用) 月に数回新ビルドをリリース Beta と Canary の中間として 2023/03/08 に新設 Bbuild 23000 番台からスタート ビルドアップデートが頻繁にあるので、Windows Update は結果的にほとん
google の G Suite を使っている場合のユーザーアカウントはどう管理していますか? オンプレ AD アカウント、G Suite アカウントの二重管理していたりしませんか? G Suite アカウントは、オンプレ AD アカウントに同期させる事が出来るので、オンプレ AD アカウントでの一元管理にする事が出来ます。 仕組み google との同期は、アカウント同期とパスワード同期の2段階になります。 同期するアカウントは、セキュリティグループ(所属しているユーザー)、OU(配下に位置しているユーザー)を指定できます。 AD 管理に慣れた方であれば、セキュリティグループを指定した同期対象指定が真っ先に頭に浮かぶと思いますが、G Suite アカウント同期は LDAP Query で同期対象を指定するので、LDAP ツリー構造の方がスタンダードだったりします。 アカウント同期は、スケ
ドメインユーザー情報を取得するには、Get-ADUser コマンドレットを使いますが、でも、Get-ADUser で得られる情報が、ドメインユーザープロパティに比べて圧倒的に少ないのが気になりませんか? PS C:\> Get-ADUser -Filter { SamAccountName -eq "mura" } | fl * DistinguishedName : CN=mura,CN=Users,DC=vwnet,DC=jp Enabled : True GivenName : Name : mura ObjectClass : user ObjectGUID : 4fd33852-ee49-4058-ab37-b072c6c823f6 SamAccountName : mura SID : S-1-5-21-4127486010-668491162-2501035895-1106
PowerShell の良い所は、コマンドレットやオプションが強力に TAB 補完されるところです。 この補完が強力なので、コマンドレットスペルとかオプションを細かく覚えていなくても簡単に PowerShell を使うことができます。 特にオプションの補完は強力で、「ハイフン」に続いて TAB 入力するだけでコマンドレットで指定可能なオプションが次々と表示されます。 これを自作スクリプトで実現する方法を紹介します。 Param の使い方 本題に入る前に PowerShell スクリプトの引数を定義する Param の使い方を説明をしましょう。 Param の一番簡単な書き方はこんな感じです。(test.ps1 を書いている想定)
前回は、PowerShell ぽい使い方を解説しました。 PowerShell 的な使い方(1) http://www.vwnet.jp/Windows/PowerShell/2018040502/GettingStartedWithPowerShell-02.htm 今回は実践的な PowerShell の使い方を解説します。 出力を整える デフォルトのコマンドレット出力は、代表的なプロパティがテーブル表示されますが、必要なプロパティが表示されていないとか、出力が長くて途中で切れているとか残念な事も良くありますよね。 そんな時は、出力を一工夫するとぐっと使いやすくなります。 Format-Table(ft) Format-Table は、指定したプロパティをテーブル表示しますので一覧で見たいときに便利です。-AutoSize を使うと項目幅が自動調整されます。 Get-ChildItem
新規構築した Windows 環境に対して Windows Update するのは、何度も再起動が必要なので手間がかかります。 でも、この PowerShell スクリプトを使うと、再起動が不要になるまで Windows Update と再起動を自動で繰り返すので、放置しておけば Windows Update が完了するという手間いらず !! スクリプトの実行ログは C:\WU_Log に出力されます。 動作環境は Windows 7 / Windows Server 2008 R2 以降です。 使い方 C:\WindowsUpdate を作成し、スクリプト(AutoWindowsUpdate.ps1)を置いて管理権限で実行します。 引数に「 Full 」を与えると全ての更新を適用し、引数なしだと重要な更新のみを適用します。 C:\WindowsUpdate\AutoWindowsUpda
運用稼働中の Windows Server の場合、パケットキャプチャーを取りたい場合でもパケットキャプチャーソフトをインストールしたくはないですね。 Windows Server 2008 R2(Windows 7) 以降であれば、OS 標準機能の netsh でパケットキャプチャーを取ることができます。(要管理権限) netsh でのキャプチャーは、ログオフしてもパケットキャプチャーし続けますし、デフォルトが 250MB の循環型なのでキャプチャー取りっぱなしでもディスクパンクしないのも、Server でのキャプチャーにもってこいですね。 大量にパケットが飛んでくる環境とか、問題が起きた時のパケットを後で確認したい場合はサイズを大きくしておくと良いでしょう。 (実際にキャプチャーして、時間あたりのサイズを計測しておくのが吉ですね) キャプチャー時の負荷はさして上がりませんが、これも環境
書籍/雑誌でカット(ボツ)になった原稿とか、検証メモとか、雑記とか、Windows まつわる情報(ネタ? メモ?)をこちらにまとめることにしました。 Windows と言いながら、Windows 以外の MS のプロダクトも扱います。 こちらもボチボチ追加なので、コンテンツ更新が遅いって突っ込みはナシでお願いしますね ^^; サンプルコードや掲載内容の二次利用について Server Windows Server 2022 Windows Server 2019 Windows Server Insider Preview(RS3) Windows Server 2016 Windows Server 2016 Technical Preview 5 Windows Server 2016 Technical Preview 4 Windows Server 2016 Technical P
Windows 10 では、PIN を使用したログオン認証がサポートされました。 PIN とは暗証番号で、キャッシュカードをATMで使うような感じの認証が出来ます。 PIN 認証に成功すると、PIN に保護されている ID/パスワードでバックグラウンド認証されます。 PIN は PC ローカルに保存されるので他の PC に共有されません。 PIN の設定 PIN の設定は「アカウント」で設定します。 「サインイン オプション」に「暗証番号(PIN)」があります。 MS アカウントが要求されるので、パスワードを入力します。ドメイン参加している場合には、ドメインアカウントのパスワードも要求されます。 パターンは不明ですが、パスワード要求されないこともあります。 PIN を設定します。最大値は不明ですが、30桁以上が設定可能です。 PIN が設定されると、ログオン画面で PIN の入力が求められ
すべてのアカウント管理を Azure AD(以降 AAD) に移行してしまえば、Office 365(以降 O365) 認証は AAD で完結するのですが、ローカルで運用している Active Directory のアカウントを使って認証するハイブリッド構成にするには AD FS が必要になります。 AD FS そのものの構成は以下ページで解説しているので、そちらを見てください Dropbox の AD 認証 https://www.vwnet.jp/Windows/WS12R2/2017100501/Dropbox.htm Windows Server 2019 AD FS 構築でハマるポイント対策 http://www.vwnet.jp/windows/WS19/2019043001/WS19ADFS.htm ここでは、Azure AD Connect を使って、AD DS to AA
ファイル共有サービスの Dropbox(https://www.dropbox.com/ja/) は、SAML 2.0 認証をサポートしているので、Windows Server の AD FS を使用して、AD 認証をすることができます。 今回は Windows Server 2012 R2 を使った Dropbox の AD 認証を構築します。 (Windows Server 2008 R2 の場合、OS 標準の AD FS は使えないので、別途 AD FS 2.0 と Rollup 3 適用をする必要がありまので、末尾の参考情報を参照してください) 画面キャプチャ数が多いのでインデックスつけておきます。 迷子になったらここに戻ってください mm 0 認証プロセスの簡単な説明 1 SSL 証明書 2 AD FS 構築 2.1 サービスアカウントの作成 2.2 プライマリ AD FS のイ
Windows Server 2016 Hyper-V から Windows Server 2019 Hyper-V 移行 Windows Server 2016 Hyper-V(WS16 Hyper-V) から Windows Server 2019 Hyper-V(WS19 Hyper-V) へ移行する前に色々検証したのでその情報共有です。 VM 互換性 WS16 Hyper-V VM のバージョンは 8.0 で、WS19 2019 Hyper-V VM バージョンは 9.0 ですが、WS19 Hyper-V 上で 8.0 の VM がそのまま動くので、移行はとても楽です。 例えば、WS16 Hyper-V で Export した VM をそのまま WS19 Hyper-V で Import すれば移行完了します。 WSFC の場合も、片側に VM をすべて寄せて WS19 にアップグ
lxrun コマンドは廃止されました 新しい手順はこちらを見てください WSL2 のセットアップ http://www.vwnet.jp/Windows/w10/2021070402/WSL2forSAC.htm Windows 10 で WSL をセットアップするのに GUI ポチポチするのが面倒なので、コマンドラインで手抜きイントールとアップデートする方法です。 限りなく自分メモですね w PowerShell の管理権限プロンプトで操作 # WSL インストール(再起動要求が来る) Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux ここから先は管理権限なしで ok 【注意】 lxrun.exe が Windows 10 の新しいビルドではサポートされなくなったので、
プロジェクターを使ってプレゼンをする場合、デモの時ってどこを見て操作していますか? プロジェクターに投影されたスクリーンを見ながら操作している事が多いと思います。 この時に、後ろ(スクリーンの方)を見て話をする事になるので、ピンマイクとかを使っていないと声が拾いにくくなりますし、後ろを向くのであまり格好が良くないです。 プレゼンターの立ち位置によっては、スクリーンが視認し辛くてデモ操作に困ることもしばしばだし(よく見えないのでデモにまごつく) 会場によっては、プロジェクター投影と同じ画面を手元のサブモニターに投影する機材を置いていることもありますが、これは稀なケースです。 あるいは、プロジェクターの無い小さな会議室でスライド見せる時とか、自分の後ろに立ってスライドを見てもらうのはイケていないですよね。 そんな時は、別の PC をサブモニターにしちゃいましょう。 プロジェクター投影をサブモニ
Windows 10 の右クリックメニューには「PowerShell で実行」があります。(以前の Windows にもあります) ところが、この右クリックメニューの「PowerShell で実行」は、実行後 PowerShell プロンプトを閉じてしまうので使い勝手が良いものではありません。そこで、スクリプト実行後にプロンプト閉じないようにする -NoExit オプションを以下レジストリに付加します。
リモート コンピューターを PowerShell で操作するコマンドレットの1つである「Enter-PSSession」は、PowerShell のリモートデスクトップ版で、操作は対話型処理に限定され、戻り値をこちら側で取得することができません。 この問題を解決するのが「Invoke-Command」です。 Invoke-Command はコマンドやスクリプトをリモート投入し、結果をローカルに返すコマンドレットです。 「リモート投入」なので Enter-PSSession のように対話型処理はできませんが、バッチ処理が可能ですし、戻り値を得られるので、投入したコマンドの結果に応じて処理分岐することが可能です。 事前設定は Enter-PSSession と同じです。 簡単な使い方 まずは、リモート コンピューター上で dir c:\ を実行して、その結果を受け取ってみましょう。 投入するコ
次のページ
このページを最初にブックマークしてみませんか?
『MURA の Home Page』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く