■Windows2012Serverをサンドバッグにする為の下見。 ADにもなれず、仮想ホストにもなれない以上、 大したことが出来ないことが分かって来たので。。。 ■Windows2012サーバのPowerShell。 ゲストOSにはHyper-Vは入らない。 > get-windowsfeature Hyper-V | format-list | findstr "Name Installed" Name : Hyper-V DisplayName : Hyper-V Installed : False AdditionalInfo : {MajorVersion, MinorVersion, NumericId, InstallName} ■以下に見るとおり、GMOのデスクトップクラウドのホストOSはHyper-Vである。 MSによると「without Hyper-V」だけがサポートされている。 仮想デスクトップをHyper-Vで商品化 Windowsアプリケーションのクラウド型開発環境を提供 http://special.nikkeibp.co.jp/ts/article/aba0/131610/ 仮想マシンとゲスト オペレーティング システムについて http://technet.microsoft.com/ja-jp/library/cc794868(v=ws.10).aspx ■PowerShellのデフォルトはShift-JISです。 出力のデフォルトがUTF-8だったり、ASCIIだったりする統一性の無いコマンド群は MSの囲い込み手法のひとつで、わざとなんだと信じます。(天然だったらダサいw) 「デフォルト」が何を指しているか分からない人には全く向いてませんのであしからず。 PS> $sysenc = [System.Text.Encoding]::Default PS> $sysenc.EncodingName 日本語 (シフト JIS) ■インストールされている役割の一覧の出力 大きく分けて4つのステップがある。 Step1 サーバマネージャをインポートして、 CSVのデフォルトはASCIIなので、システムのデフォルトを指定、 test.csvに出力。 Step2 CSVの行検索、Installedを含む行のみ取り込んで変数strに格納。 Step3 Splitは区切り文字をキーに列を行に変換、 カンマ区切りで2行目がDisplayName、 ダブルクォーテーション区切りで2行目が内容、変数str2に格納。 Step4 Select-Stringの-notmatchオプションでDisplayNameという見出しを除外。 ※Select-StringのデフォルトエンコーディングはUTF-8です。 PS> import-module ServerManager PS> get-windowsfeature | export-csv -encoding default test.csv PS> findstr "Installed" .\test.csv | tee -Variable str PS> $str -replace '"','' | %{$_.split(",")[1]} | tee -Variable str2 PS> $str2 | select-string -pattern "DisplayName" -notmatch ファイル サービスおよび記憶域サービス 記憶域サービス .NET Framework 3.5 Features .NET Framework 3.5 (.NET 2.0 および 3.0 を含む) .NET Framework 4.5 Features .NET Framework 4.5 ASP.NET 4.5 WCF サービス TCP ポート共有 Media Foundation Windows PowerShell Windows PowerShell 3.0 Windows PowerShell 2.0 エンジン Windows PowerShell ISE WoW64 サポート インクと手書きサービス バックグラウンド インテリジェント転送サービス (BITS) コンパクト サーバー ユーザー インターフェイスとインフラストラクチャ グラフィック管理ツールとインフラストラクチャ サーバー グラフィック シェル デスクトップ エクスペリエンス 高品質な Windows オーディオ ビデオ エクスペリエンス ■ちなみに配列の「0」番目だと以下。 splitが区切り文字をキーに列から行に変換した後の 剰余のn行から拾うのがちょっと面白い。 面白いというのは、awkだと列のままや行のまま扱えるので額面どおりの褒め方では無いことは、 行列の入れ替えを行いたい場合を考えれば分かると思う。 PS> $str -replace '"','' | %{$_.split(",")[0]} | tee -Variable str2 Name FileAndStorage-Services Storage-Services NET-Framework-Features NET-Framework-Core NET-Framework-45-Features NET-Framework-45-Core NET-Framework-45-ASPNET NET-WCF-Services45 NET-WCF-TCP-PortSharing45 Server-Media-Foundation PowerShellRoot PowerShell PowerShell-V2 PowerShell-ISE WoW64-Support InkAndHandwritingServices BITS BITS-Compact-Server User-Interfaces-Infra Server-Gui-Mgmt-Infra Server-Gui-Shell Desktop-Experience qWave ■インストールされていない役割、機能の一覧。 PowerShellだとDepth=1を拾うのが面倒だったので、コマンドプロンプトで。 うーん、要らないな~w。。。サーバとしては、Web、メール、DNSかな。。。 どうでも良いけど、NTPは未だにVersion3なんだw。。。 > powershell get-windowsfeature > test.log > findstr /V "[X]" test.log | find /V " [" | find "[" | find /N "[" [1][ ] Active Directory ライトウェイト ディレクトリ サ... ADLDS Available [2][ ] DHCP サーバー DHCP Available [3][ ] DNS サーバー DNS Available [4][ ] Hyper-V Hyper-V Available [5][ ] Web サーバー (IIS) Web-Server Available [6][ ] Windows Server Update Services UpdateServices Available [7][ ] アプリケーション サーバー Application-Server Available [8][ ] BitLocker ドライブ暗号化 BitLocker Available [9][ ] BitLocker ネットワーク ロック解除 BitLocker-NetworkUnlock Available [10][ ] BranchCache BranchCache Available [11][ ] HTTP プロキシを経由した RPC RPC-over-HTTP-Proxy Available [12][ ] LPR ポート モニター LPR-Port-Monitor Available [13][ ] Management OData IIS 拡張機能 ManagementOdata Available [14][ ] NFS クライアント NFS-Client Available [15][ ] RAS 接続マネージャー管理キット (CMAK) CMAK Available [16][ ] RDC (Remote Differential Compression) RDC Available [17][ ] Simple TCP/IP Services Simple-TCPIP Available [18][ ] SMTP サーバー SMTP-Server Available [19][ ] Telnet クライアント Telnet-Client Available [20][ ] Telnet サーバー Telnet-Server Available [21][ ] TFTP クライアント TFTP-Client Available [22][ ] Windows Identity Foundation 3.5 Windows-Identity-Fou... Available [23][ ] Windows Internal Database Windows-Internal-Dat... Available [24][ ] Windows Server バックアップ Windows-Server-Backup Available [25][ ] Windows Server 移行ツール Migration Available [26][ ] Windows TIFF IFilter Windows-TIFF-IFilter Available [27][ ] Windows フィードバック転送 WFF Available [28][ ] Windows 生体認証フレームワーク Biometric-Framework Available [29][ ] WinRM IIS 拡張機能 WinRM-IIS-Ext Available [30][ ] WINS サーバー WINS Available [31][ ] インターネット印刷クライアント Internet-Print-Client Available [32][ ] グループ ポリシーの管理 GPMC Available [33][ ] データ センター ブリッジング Data-Center-Bridging Available [34][ ] ネットワーク負荷分散 NLB Available [35][ ] ピア名解決プロトコル PNRP Available [36][ ] メッセージ キュー MSMQ Available [37][ ] リモート サーバー管理ツール RSAT Available [38][ ] 拡張記憶域 EnhancedStorage Available