SlideShare a Scribd company logo
1 of 49
Download to read offline
#T32
Recap: PowerShell Core
Interact 2018 (2018.06.30)
Kazuki Takai
自己紹介
 高井 一輝 (Takai Kazuki)
 某ISP勤務
 クラウドサービスの開発、設計、設備維持
 Windows Server / System Center / Linux / etc…
 Microsoft MVP - Cloud and Datacenter Management
 System Center User Group Japan (SCUGJ)
 Twitter : @zhuky7 / Facebook : kazuki.takai
 Blog : http://operationslab.wordpress.com/
セッションの内容
 お話しすること
 PowerShell Core とは何か
 Windows PowerShell との違い
 PowerShell Core を使うべきか
 お話ししないこと
 PowerShell の構文
 PowerShell の使い方
 Windows Server 2016 Nano Server 上の PowerShell Core 5 / 5.1
セッションのゴール
 Windows PowerShell と PowerShell Core の違いについて理解する
 何となく使い所が分かる
 PowerShell Core を使うための準備ができる
 使おうと思ったときに利用できる
ところで…
 Windows PowerShell を使っている方
 PowerShell Core を使っている方
 PowerShell を Windows の管理に使っている方
 PowerShell を Linux の管理に使っている方
 PowerShell を Azure の管理に使っている方
 Microsoft Azure を使っている方
 PowerShell を Office 365 の管理に使っている方
 Office 365 を使っている方
 PowerShell をアプリケーションの処理(の一部)に使っている方
 PowerShell のモジュールを開発している方
Agenda
 PowerShell Core とは
 PowerShell Core を使う(ことを検討する)べき人
 PowerShell Core のインストール
 PowerShell Core と Remoting
 Azure Cloud Shell と PowerShell Core
はじめる前に
 本資料の内容は個人的な検証結果に基づきます
 所属する会社や組織、マイクロソフト社の公式な見解を記載するものではありません
 表記や内容に誤りがあるなど、お気づきの点があれば、ご連絡いただけると幸いです
 本セッションでは PowerShell 6.0.2 及び 6.1.0 Preview 3 を使用します
 今後のリリースで機能や動作が変更、削除される可能性があります
PowerShell 6.0 is Generally Available
 PowerShell Core 6.0 GA – 2018/01/10
 PowerShell Team Blog – PowerShell Core
6.0: Generally Available (GA) and
Supported!
 PowerShell 6.0.1 – 2018/01/25
 Engine updates
 Address vulnerabilities
 PowerShell 6.0.2 – 2018/03/15
 Engine updates
 Address vulnerabilities
 Fix some bugs and Improvements
PowerShell Core とは
 Full .NET Framework に依存しない PowerShell
 .NET Core ベース
 クロスプラットフォーム
 Windows Client, Windows Server, Ubuntu, Debian, CentOS, Red Hat Enterprise Linux,
OpenSUSE, Fedora, macOS, Arch Linux, Kali Linux, AppImage (Linux), Windows on
ARM32/ARM64, Raspbian (Stretch)
注:公式にはサポートされないものや実験的なリリースも含む
 PowerShell 6 は PowerShell Core としての最初のリリース(Nano を除く)
 PowerShell 2.0 – 5.x : Windows PowerShell
 PowerShell Core 5.x : PowerShell Core for Windows Server 2016 Nano Server
 PowerShell 6 : PowerShell Core
PowerShell Core と Windows PowerShell
の主な違い
PowerShell Core Windows PowerShell
Latest Version PowerShell 6.0.2 / 6.1.0 Preview 3 PowerShell 5.1 (with WMF 5.1)
Platform / OS Windows (x86/x64/arm), Linux, macOS Windows (x86/x64)
Runtime .NET Core (.NET Core 2.0) .NET Framework
Edition ($PSEdition) Core Desktop
Executable binary pwsh (pwsh.exe) powershell.exe
WMF Independent Required
Remoting (PSRP) SSH or WinRM WinRM
Default Encoding UTF-8 (with NO BOM) UTF-16
Lifecycle Microsoft Modern Lifecycle Policy Depends on OS Lifecycle
Licensing MIT license Depends on OS license
Windows における PowerShell
 Windows PowerShell は引き続きサポートされる
 OS 及び Windows Management Framework のサポートポリシーに基づく
 大幅な機能追加やエンハンスは行われない予定
 GitHub label:Consider-WindowsPowerShell51
 PowerShell Core は個別にインストールが必要
 In-box ツールとして OS に含まれるかどうかは未定(現時点で予定無し)
 Windows PowerShell を置き換える予定は、現時点では無し
 PowerShell Core と Windows PowerShell は共存可能
 バイナリやパスは基本的に異なる
 Remoting については注意が必要
PowerShell Core への移行
 全ての人が PowerShell Core / PowerShell 6 へ移行すべきか?
No
 PowerShell Core は Windows PowerShell の全てをカバーするものではない
 少なくとも現時点では
 互換性は継続的に改善される予定
PowerShell Core を使うべき人
 PowerShell Core を使ってみる・使い始めた方がよい人
 クロスプラットフォーム / マルチプラットフォームで PowerShell を利用したい人
 Container などの、開発スピードが速いプロダクトを利用している(したい)人
 Windows Server Semi-Annual Channel を利用している人
 Microsoft Azure や Office 365 などの管理に PowerShell を使用している人
 アプリケーションの処理の一部に PowerShell を使用したい人
 アプリケーション固有のパッケージングをしたい人
 PowerShell モジュールを開発している人
 PowerShell の動作を変えたい人(PowerShell のコードを改修したい人)
PowerShell Core を使わなくてもよい人
 必要がなければ、Windows PowerShell を使い続ければよい人
 Windows Server の管理のみに PowerShell を使用している人
 Windows Server を Long Term Servicing Channel で使用している人
 Windows のプリミティブな操作を、提供済みの PowerShell モジュールを使用して実行し
ている人
 同じ構成・バージョンで長期間サポートされることが重要なシステム(で使用する人)
 新規のコード:PowerShell Core でも動作するように書いたほうが良い
 既存のコード:必要がないなら、今すぐ書き直す必要はない
 今後のメンテナンス性を考慮した場合に、書き直したほうが良いのであれば、併せて
PowerShell Core との互換性を考慮する
その他の変更点
 インストールパス、モジュールパス、プロファイル
PowerShell Core Windows PowerShell
$PSHOME C:¥Program Files¥PowerShell¥6.0.2 C:¥Windows¥System32¥WindowsPowerShell¥v1.0
$env:PSModulePath
C:¥Users¥<user>¥Documents¥PowerShell¥Modules
C:¥Program Files¥PowerShell¥Modules
c:¥program files¥powershell¥6.0.2¥Modules
C:¥Users¥<user>¥Documents¥WindowsPowerShell¥Modules
C:¥Program Files¥WindowsPowerShell¥Modules
C:¥WINDOWS¥system32¥WindowsPowerShell¥v1.0¥Modules
$PROFILE.AllUsersAllHosts C:¥Program Files¥PowerShell¥6.0.2¥profile.ps1 C:¥Windows¥System32¥WindowsPowerShell¥v1.0¥profile.ps1
$PROFILE.AllUsersCurrentHost
C:¥Program
Files¥PowerShell¥6.0.2¥Microsoft.PowerShell_profile.ps1
C:¥Windows¥System32¥WindowsPowerShell¥v1.0¥Microsoft.PowerShel
l_profile.ps1
$PROFILE.CurrentUserAllHosts C:¥Users¥<user>¥Documents¥PowerShell¥profile.ps1 C:¥Users¥<user>¥Documents¥WindowsPowerShell¥profile.ps1
$PROFILE.CurrentUserCurrentHost
C:¥Users¥<user>¥Documents¥PowerShell¥Microsoft.PowerShell_
profile.ps1
C:¥Users¥<user>¥Documents¥WindowsPowerShell¥Microsoft.PowerShe
ll_profile.ps1
その他の変更点
 Path の区切り文字は “/” と “¥” の両方を利用可能
 Linux と macOS の PowerShell Core は Case sensitive
 実行モジュールのデフォルトオプションが -Command から -File に変更
 pwsh <script path> と書ける
 OS の判定に組み込み変数が利用可能
 $IsWindows
 $IsLinux
 $IsMacOs
 etc...
Support Lifecycle
 PowerShell Core Support Lifecycle
 https://docs.microsoft.com/en-us/powershell/scripting/powershell-core-
support?view=powershell-6
 あくまで例です!
注意点
 多数の破壊的な変更
 Workflow はサポートされない
 カスタムスナップインはサポートされない
 WMI v1 コマンドレットはサポートされない
 Microsoft.PowerShell.LocalAccounts 及び *-Counter はサポートされない
 その他、Windows 固有のモジュールは、現時点で大多数が移植されていない
 ComputerName スイッチが *-Computer 及び *-Service コマンドレットから削除
 etc...
 https://docs.microsoft.com/en-us/powershell/scripting/whats-
new/breaking-changes-ps6?view=powershell-6
PowerShell Core のインストール
 最新の情報は GitHub
 https://github.com/PowerShell/PowerShell
 一部は Microsoft Docs へのリンク
 https://docs.microsoft.com/en-us/powershell/scripting/powershell-
scripting?view=powershell-6
 https://docs.microsoft.com/en-us/powershell/scripting/setup/installing-
powershell-core-on-windows?view=powershell-6
 https://docs.microsoft.com/en-us/powershell/scripting/setup/installing-
powershell-core-on-linux?view=powershell-6
GitHub / PowerShell
コンパイル済みの Package を
直接ダウンロードしたい場合は
こちら
インストール手順の参照はこちら
(Package Repository を使用した
インストール方法もこちら)
Docs / PowerShell
 英語版を推奨
PowerShell 6 を選択
Overview → Install → PowerShell Core
インストール対象の Platform を選択
PowerShell Core と Windows PowerShell の
ドキュメントが入り混じっているので注意!
PowerShell Core を試す
 OS にインストールする
 Windows, Linux, macOS / 物理 or VM
 周辺環境を含めてテスト可能
 PowerShell Remoting など
 Docker コンテナーを実行
 Windows, Linux
 PowerShell Core と、その上で実行するモジュールのテストが可能
 管理対象(操作対象)は、コンテナーの外側で別途用意
Docker コンテナーの使用
 一般的なコンテナーの実行と同様
 https://github.com/PowerShell/PowerShell/tree/master/docker
 docker search
 docker pull
 docker run
 Microsoft の Repository
 https://hub.docker.com/r/microsoft/powershell/
 利用したいベース OS 環境が無い場合等は、自分で Build
 docker build
 Docker for Winodows の現時点での最新版(stable channel : 18.03.1-ce-win65)だと Linux
Container の Build に失敗するので注意(edge channel の最新では修正されているはず)
Demo
PowerShell Core on Docker
Windows へのインストール
 Prerequisites
 Windows 7 SP1 又は Windows Server 2008 R2 以降(かつサポート期間内)の OS
 Windows 10 Universal C Runtime
 Windows 8.1 又は Windows Server 2012 R2 以前の場合は、KB3118401 等をインストール
 WMF 4.0 以降
 WMF 5.1 を推奨
 インストール
 PowerShell-<version>-win-<os-arch>.msi をダウンロードして実行
Windows へのインストール
 Windows Server 2016 の場合、
Microsoft Visual C++ 2015
Redistributable Update 3 のイ
ンストールは不要になりました
Server Core へのインストール
 PowerShell (Windows PowerShell) を起動して
 [Net.ServicePointManager]::SecurityProtocol +=
[System.Net.SecurityProtocolType]::Tls12
 Invoke-WebRequest -Uri
"https://github.com/PowerShell/PowerShell/releases/download/v6.0.2/PowerSh
ell-6.0.2-win-x64.msi" -UseBasicParsing -OutFile PowerShell-6.0.2-win-x64.msi
 msiexec.exe /i PowerShell-6.0.2-win-x64.msi /qn
Ubuntu へのインストール
 curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -
 curl https://packages.microsoft.com/config/ubuntu/$(grep DISTRIB_RELEASE
/etc/lsb-release | cut -d= -f2)/prod.list | sudo tee /etc/apt/sources.list.d/microsoft.list
 sudo apt update
 sudo apt install powershell
CentOS / RHEL へのインストール
 curl https://packages.microsoft.com/config/rhel/7/prod.repo | sudo tee
/etc/yum.repos.d/microsoft.repo
 sudo yum install powershell
PowerShell Core と Remoting
 PowerShell Remoting Protocol (PSRP) のトランスポート プロトコルとして、
以下を利用可能
 WinRM (Windows Remote Management) / WS-Management
 Windows Remote Management (WS-Management) Service
 PSRP-Server with OMI
 SSH (Secure Shell)
 OpenSSHd
PowerShell Remoting Stack
WS-Management
WinRM
SSH
PowerShell Remoting
Protocol
PowerShell Remoting
Protocol
SSH
PowerShell PowerShell cmd.exe / bash
Objects Objects Text
Windows PowerShell
PowerShell Core
Demo
PowerShell Remoting
PSRP over WinRM / WSMan
 Windows の場合
 PowerShell Core に接続するよう設定を登録する必要がある
 接続先で PowerShell Core を起動して以下を実行
 $PSPath = "C:¥Program Files¥PowerShell¥6.0.2"
 Set-LocalGroup $PSPath
 .¥Install-PowerShellRemoting.ps1 -PowerShellHome $PSPath
 接続する場合は、Session Configuration を指定する
 Linux の場合
 omi-psrp-server をインストールして構成すればできるかも(開発中)
PSRP over WinRM / WSMan
 注意点
 Windows to Windows
 Windows PowerShell と同様
 ワークグループ環境で NTML を使う場合は、TrustedHosts を適切に設定する、等
 Linux to Windows
 Basic Auth over HTTP はサポートされない
 https://github.com/PowerShell/PowerShell/pull/6787
 受け側で HTTPS Transport を設定して、over HTTPS で接続
 PowerShell Core に New-PSSessionOption が無い!!
PSRP over SSH
 Windows の場合
 Win32-OpenSSH をインストール(もしくは Windows の機能として有効化)
 https://github.com/PowerShell/Win32-OpenSSH/releases
 リリースファイルを展開して install-sshd.ps1 を実行
 Windows Firewall で 22/tcp の Inbound を許可
 サービスを自動的に開始するよう設定、サービスを開始
 sshd_config で PowerShell を Subsystem として登録
 Subsystem powershell c:¥pwsh¥pwsh.exe -sshs -NoLogo –NoProfile
※ PowerShell Core のパスにスペースが含まれていると sshd がうまく処理できない(バグ)
 sshd を再起動
PSRP over SSH
 Linux の場合
 sshd_config で PowerShell を Subsystem として登録
 Subsystem powershell /usr/bin/pwsh -sshs -NoLogo -NoProfile
 sshd を再起動
 全般として
 sshd としての設定は、通常通り
 パスワード認証の許可 / 拒否
 鍵認証の許可 / 拒否
Azure Cloud Shell
 これ
 Bash と PowerShell が選択可能
 Bash (on Linux Container)
 PowerShell (on Windows Container ??)
2017/10 のスクリーンショット
???
 本日の(私の)サブスクリプション
Azure Cloud Shell – PowerShell
 作成を進めると…
結局
 Windows でした…
何はともあれ
 Azure Cloud Shell の PowerShell は Linux 上の PowerShell Core へ移行予定
 Changes coming to PowerShell (preview) in Azure Cloud Shell
 https://azure.microsoft.com/ja-jp/blog/pscloudshellrefresh/
 Linux コンテナーの方が起動が速い等の理由による
Azure Cloud Shell を使うには
 Portal 右上のシェルボタンをクリック
 Bash か PowerShell かを選択
 ストレージアカウントを作成するサブスクリプションを選択
 Cloud Shell 環境で使用するストレージ
 待つ
Demo
Azure Cloud Shell
Tips: ファイルの永続化
 Azure Cloud Shell の Compute リソースは適宜リサイクルされる
 永続化ストレージ領域(CloudDrive)が自動的にマウントされる
 永続化が必要なファイルは CloudDrive へ配置
 Cloud Shell 上でユーザーがインストールしたモジュールは、自動的に CloudDrive
へ保存される
 PowerShell 版の場合、$HOME は永続化されないので注意
Tips: Cloud Drive
 実体は、Cloud Shell 利用開始時に作成したストレージアカウント
 ストレージアカウント内に作成されたファイル共有
 $HOME/CloudDrive へ自動マウント
 Y:¥ でもアクセス可能
 Cloud Shell の稼働リージョンと同一リージョンのファイル共有を利用可能
 利用している Cloud Shell のインスタンス稼働リージョンと同一である必要がある
 $env:ACC_LOCATION
 CloudDrive を介して、Azure Cloud Shell 内とファイルのやり取りが可能
Tips: Azure Drive
 “Azure:” PSDrive
 Azure リソースを取り扱う PSDrive
 他の PSDrive と同様、Azure リソースへのシームレスなアクセスを提供
 コンテキスト依存で応答が変化
 Resource Group の自動判定
 利用可能な Resource Manager Command の自動判定
まとめ
 とりあえず PowerShell Core を使ってみてもよいのでは?
参考資料
 PowerShell Team Blog
 https://blogs.msdn.microsoft.com/powershell/
 GitHub
 https://github.com/PowerShell

More Related Content

What's hot

Windows PowerShell によるWindows Server 管理の自動化 v4.0 2014.03.13 更新版
Windows PowerShell によるWindows Server 管理の自動化 v4.0 2014.03.13 更新版Windows PowerShell によるWindows Server 管理の自動化 v4.0 2014.03.13 更新版
Windows PowerShell によるWindows Server 管理の自動化 v4.0 2014.03.13 更新版junichi anno
 
Interact2019 - Windows Admin Center 2019年6月のお話
Interact2019 - Windows Admin Center 2019年6月のお話Interact2019 - Windows Admin Center 2019年6月のお話
Interact2019 - Windows Admin Center 2019年6月のお話Norio Sashizaki
 
KubernetesとFlannelでWindows上にPod間VXLAN Overlayネットワークを構成
KubernetesとFlannelでWindows上にPod間VXLAN Overlayネットワークを構成KubernetesとFlannelでWindows上にPod間VXLAN Overlayネットワークを構成
KubernetesとFlannelでWindows上にPod間VXLAN Overlayネットワークを構成Takashi Kanai
 
Kubernetes上のWindows Server コンテナーのマイクロサービス間分離
Kubernetes上のWindows Server コンテナーのマイクロサービス間分離Kubernetes上のWindows Server コンテナーのマイクロサービス間分離
Kubernetes上のWindows Server コンテナーのマイクロサービス間分離Takashi Kanai
 
Rancher2.3とwindows Containerで作るkubernetesクラスタ
Rancher2.3とwindows Containerで作るkubernetesクラスタRancher2.3とwindows Containerで作るkubernetesクラスタ
Rancher2.3とwindows Containerで作るkubernetesクラスタTakashi Kanai
 
Windows Server 2019 の Hyper-Converged Infrastructure (HCI)
Windows Server 2019 の Hyper-Converged Infrastructure (HCI) Windows Server 2019 の Hyper-Converged Infrastructure (HCI)
Windows Server 2019 の Hyper-Converged Infrastructure (HCI) Hiroshi Matsumoto
 
Hyper-V を Windows PowerShell から管理する
Hyper-V を Windows PowerShell から管理するHyper-V を Windows PowerShell から管理する
Hyper-V を Windows PowerShell から管理するjunichi anno
 
Hyper-V + Linux {which Microsoft Loves}
Hyper-V + Linux {which Microsoft Loves}Hyper-V + Linux {which Microsoft Loves}
Hyper-V + Linux {which Microsoft Loves}Norio Sashizaki
 
20170624 interact2017 open shift on azure
20170624 interact2017 open shift on azure20170624 interact2017 open shift on azure
20170624 interact2017 open shift on azureTakayoshi Tanaka
 
PowerShell を使用した Hyper-V の管理
PowerShell を使用した Hyper-V の管理PowerShell を使用した Hyper-V の管理
PowerShell を使用した Hyper-V の管理Kazuki Takai
 
Project Honolulu 見てみましょう
Project Honolulu 見てみましょうProject Honolulu 見てみましょう
Project Honolulu 見てみましょうNorio Sashizaki
 
de:code 2018 DA06 SQL Server 管理者におくる SQL Server on Linux Tips
de:code 2018 DA06 SQL Server 管理者におくる SQL Server on Linux Tipsde:code 2018 DA06 SQL Server 管理者におくる SQL Server on Linux Tips
de:code 2018 DA06 SQL Server 管理者におくる SQL Server on Linux TipsMasayuki Ozawa
 
Sql server 2016 always on 可用性グループ new features
Sql server 2016 always on 可用性グループ new featuresSql server 2016 always on 可用性グループ new features
Sql server 2016 always on 可用性グループ new featuresMasayuki Ozawa
 
Azure サポート エンジニア直伝 ~ PowerShell 実践活用術 ~
Azure サポート エンジニア直伝 ~ PowerShell 実践活用術 ~Azure サポート エンジニア直伝 ~ PowerShell 実践活用術 ~
Azure サポート エンジニア直伝 ~ PowerShell 実践活用術 ~ShuheiUda
 
Linux 対応だけじゃない!! sql server 2017 こんな機能が追加されています。
Linux 対応だけじゃない!! sql server 2017 こんな機能が追加されています。Linux 対応だけじゃない!! sql server 2017 こんな機能が追加されています。
Linux 対応だけじゃない!! sql server 2017 こんな機能が追加されています。Masayuki Ozawa
 
Interact2017:Windows Container "Overlay" Networking
Interact2017:Windows Container "Overlay" NetworkingInteract2017:Windows Container "Overlay" Networking
Interact2017:Windows Container "Overlay" Networkingwind06106
 

What's hot (18)

Windows PowerShell によるWindows Server 管理の自動化 v4.0 2014.03.13 更新版
Windows PowerShell によるWindows Server 管理の自動化 v4.0 2014.03.13 更新版Windows PowerShell によるWindows Server 管理の自動化 v4.0 2014.03.13 更新版
Windows PowerShell によるWindows Server 管理の自動化 v4.0 2014.03.13 更新版
 
Interact2019 - Windows Admin Center 2019年6月のお話
Interact2019 - Windows Admin Center 2019年6月のお話Interact2019 - Windows Admin Center 2019年6月のお話
Interact2019 - Windows Admin Center 2019年6月のお話
 
KubernetesとFlannelでWindows上にPod間VXLAN Overlayネットワークを構成
KubernetesとFlannelでWindows上にPod間VXLAN Overlayネットワークを構成KubernetesとFlannelでWindows上にPod間VXLAN Overlayネットワークを構成
KubernetesとFlannelでWindows上にPod間VXLAN Overlayネットワークを構成
 
Kubernetes上のWindows Server コンテナーのマイクロサービス間分離
Kubernetes上のWindows Server コンテナーのマイクロサービス間分離Kubernetes上のWindows Server コンテナーのマイクロサービス間分離
Kubernetes上のWindows Server コンテナーのマイクロサービス間分離
 
Rancher2.3とwindows Containerで作るkubernetesクラスタ
Rancher2.3とwindows Containerで作るkubernetesクラスタRancher2.3とwindows Containerで作るkubernetesクラスタ
Rancher2.3とwindows Containerで作るkubernetesクラスタ
 
Windows Server 2019 の Hyper-Converged Infrastructure (HCI)
Windows Server 2019 の Hyper-Converged Infrastructure (HCI) Windows Server 2019 の Hyper-Converged Infrastructure (HCI)
Windows Server 2019 の Hyper-Converged Infrastructure (HCI)
 
Hyper-V を Windows PowerShell から管理する
Hyper-V を Windows PowerShell から管理するHyper-V を Windows PowerShell から管理する
Hyper-V を Windows PowerShell から管理する
 
Hyper-V + Linux {which Microsoft Loves}
Hyper-V + Linux {which Microsoft Loves}Hyper-V + Linux {which Microsoft Loves}
Hyper-V + Linux {which Microsoft Loves}
 
20170624 interact2017 open shift on azure
20170624 interact2017 open shift on azure20170624 interact2017 open shift on azure
20170624 interact2017 open shift on azure
 
PowerShell を使用した Hyper-V の管理
PowerShell を使用した Hyper-V の管理PowerShell を使用した Hyper-V の管理
PowerShell を使用した Hyper-V の管理
 
Project Honolulu 見てみましょう
Project Honolulu 見てみましょうProject Honolulu 見てみましょう
Project Honolulu 見てみましょう
 
CIデモ環境 構築手順書
CIデモ環境 構築手順書CIデモ環境 構築手順書
CIデモ環境 構築手順書
 
de:code 2018 DA06 SQL Server 管理者におくる SQL Server on Linux Tips
de:code 2018 DA06 SQL Server 管理者におくる SQL Server on Linux Tipsde:code 2018 DA06 SQL Server 管理者におくる SQL Server on Linux Tips
de:code 2018 DA06 SQL Server 管理者におくる SQL Server on Linux Tips
 
Sql server 2016 always on 可用性グループ new features
Sql server 2016 always on 可用性グループ new featuresSql server 2016 always on 可用性グループ new features
Sql server 2016 always on 可用性グループ new features
 
Monitoring あれこれ
Monitoring あれこれMonitoring あれこれ
Monitoring あれこれ
 
Azure サポート エンジニア直伝 ~ PowerShell 実践活用術 ~
Azure サポート エンジニア直伝 ~ PowerShell 実践活用術 ~Azure サポート エンジニア直伝 ~ PowerShell 実践活用術 ~
Azure サポート エンジニア直伝 ~ PowerShell 実践活用術 ~
 
Linux 対応だけじゃない!! sql server 2017 こんな機能が追加されています。
Linux 対応だけじゃない!! sql server 2017 こんな機能が追加されています。Linux 対応だけじゃない!! sql server 2017 こんな機能が追加されています。
Linux 対応だけじゃない!! sql server 2017 こんな機能が追加されています。
 
Interact2017:Windows Container "Overlay" Networking
Interact2017:Windows Container "Overlay" NetworkingInteract2017:Windows Container "Overlay" Networking
Interact2017:Windows Container "Overlay" Networking
 

Similar to Recap: PowerShell Core

Windows Server 2016 Essentials TP4の強化ポイントと PowerShellの使いどころ
Windows Server 2016 Essentials TP4の強化ポイントとPowerShellの使いどころWindows Server 2016 Essentials TP4の強化ポイントとPowerShellの使いどころ
Windows Server 2016 Essentials TP4の強化ポイントと PowerShellの使いどころSatoru Nasu
 
Windows PowerShell 5.0 と Windows Server vNext の管理
Windows PowerShell 5.0 と Windows Server vNext の管理Windows PowerShell 5.0 と Windows Server vNext の管理
Windows PowerShell 5.0 と Windows Server vNext の管理Kazuki Takai
 
Past and Future of PowerShell
Past and Future of PowerShellPast and Future of PowerShell
Past and Future of PowerShellKazuki Takai
 
最近の PowerShell のお話
最近の PowerShell のお話最近の PowerShell のお話
最近の PowerShell のお話Kazuki Takai
 
INF-009_PowerShell を 使いこなして、自動化対応 エンジニア になろう!!
INF-009_PowerShell を 使いこなして、自動化対応 エンジニア になろう!!INF-009_PowerShell を 使いこなして、自動化対応 エンジニア になろう!!
INF-009_PowerShell を 使いこなして、自動化対応 エンジニア になろう!!decode2016
 
Windows PowerShell 2.0 の基礎知識
Windows PowerShell 2.0 の基礎知識Windows PowerShell 2.0 の基礎知識
Windows PowerShell 2.0 の基礎知識shigeya
 
PowerShell and Release Management Server
PowerShell and  Release Management ServerPowerShell and  Release Management Server
PowerShell and Release Management ServerKazushi Kamegawa
 
PowerShell 5.0 で広がる運用管理の世界
PowerShell 5.0 で広がる運用管理の世界PowerShell 5.0 で広がる運用管理の世界
PowerShell 5.0 で広がる運用管理の世界Kazuki Takai
 
PowerShell の基本操作とリモーティング&v3のご紹介 junichia
PowerShell の基本操作とリモーティング&v3のご紹介 junichiaPowerShell の基本操作とリモーティング&v3のご紹介 junichia
PowerShell の基本操作とリモーティング&v3のご紹介 junichiajunichi anno
 
Windows PowerShell 2.0 の基礎知識
Windows PowerShell 2.0 の基礎知識Windows PowerShell 2.0 の基礎知識
Windows PowerShell 2.0 の基礎知識shigeya
 
PowerShell DSC と Linux
PowerShell DSC と LinuxPowerShell DSC と Linux
PowerShell DSC と LinuxKazuki Takai
 
こわくない!Azure 運用管理
こわくない!Azure 運用管理こわくない!Azure 運用管理
こわくない!Azure 運用管理Miho Yamamoto
 
【BS11】毎年訪れる .NET のメジャーバージョンアップに備えるために取り組めること
【BS11】毎年訪れる .NET のメジャーバージョンアップに備えるために取り組めること 【BS11】毎年訪れる .NET のメジャーバージョンアップに備えるために取り組めること
【BS11】毎年訪れる .NET のメジャーバージョンアップに備えるために取り組めること 日本マイクロソフト株式会社
 
App controllerとwindows azure packで作る大規模プライベートクラウド
App controllerとwindows azure packで作る大規模プライベートクラウドApp controllerとwindows azure packで作る大規模プライベートクラウド
App controllerとwindows azure packで作る大規模プライベートクラウドTakashi Kanai
 
Getting Started .NET Core
Getting Started .NET CoreGetting Started .NET Core
Getting Started .NET CoreYuta Matsumura
 
SC2012 VMM SP1 Update ヒーロー島 版
SC2012 VMM SP1 Update ヒーロー島 版SC2012 VMM SP1 Update ヒーロー島 版
SC2012 VMM SP1 Update ヒーロー島 版Kishima Masakazu
 
Windows 7 オプショナルツール 一挙紹介
Windows 7 オプショナルツール 一挙紹介Windows 7 オプショナルツール 一挙紹介
Windows 7 オプショナルツール 一挙紹介shigeya
 
Sql server 2016 ctp 3.0 新機能
Sql server 2016 ctp 3.0 新機能Sql server 2016 ctp 3.0 新機能
Sql server 2016 ctp 3.0 新機能Masayuki Ozawa
 

Similar to Recap: PowerShell Core (20)

Windows Server 2016 Essentials TP4の強化ポイントと PowerShellの使いどころ
Windows Server 2016 Essentials TP4の強化ポイントとPowerShellの使いどころWindows Server 2016 Essentials TP4の強化ポイントとPowerShellの使いどころ
Windows Server 2016 Essentials TP4の強化ポイントと PowerShellの使いどころ
 
Windows PowerShell 5.0 と Windows Server vNext の管理
Windows PowerShell 5.0 と Windows Server vNext の管理Windows PowerShell 5.0 と Windows Server vNext の管理
Windows PowerShell 5.0 と Windows Server vNext の管理
 
Past and Future of PowerShell
Past and Future of PowerShellPast and Future of PowerShell
Past and Future of PowerShell
 
最近の PowerShell のお話
最近の PowerShell のお話最近の PowerShell のお話
最近の PowerShell のお話
 
INF-009_PowerShell を 使いこなして、自動化対応 エンジニア になろう!!
INF-009_PowerShell を 使いこなして、自動化対応 エンジニア になろう!!INF-009_PowerShell を 使いこなして、自動化対応 エンジニア になろう!!
INF-009_PowerShell を 使いこなして、自動化対応 エンジニア になろう!!
 
Windows PowerShell 2.0 の基礎知識
Windows PowerShell 2.0 の基礎知識Windows PowerShell 2.0 の基礎知識
Windows PowerShell 2.0 の基礎知識
 
PowerShell and Release Management Server
PowerShell and  Release Management ServerPowerShell and  Release Management Server
PowerShell and Release Management Server
 
PowerShell 5.0 で広がる運用管理の世界
PowerShell 5.0 で広がる運用管理の世界PowerShell 5.0 で広がる運用管理の世界
PowerShell 5.0 で広がる運用管理の世界
 
20070310
2007031020070310
20070310
 
PowerShell の基本操作とリモーティング&v3のご紹介 junichia
PowerShell の基本操作とリモーティング&v3のご紹介 junichiaPowerShell の基本操作とリモーティング&v3のご紹介 junichia
PowerShell の基本操作とリモーティング&v3のご紹介 junichia
 
Windows PowerShell 2.0 の基礎知識
Windows PowerShell 2.0 の基礎知識Windows PowerShell 2.0 の基礎知識
Windows PowerShell 2.0 の基礎知識
 
PowerShell DSC と Linux
PowerShell DSC と LinuxPowerShell DSC と Linux
PowerShell DSC と Linux
 
Windows Azure PHP Tips
Windows Azure PHP Tips Windows Azure PHP Tips
Windows Azure PHP Tips
 
こわくない!Azure 運用管理
こわくない!Azure 運用管理こわくない!Azure 運用管理
こわくない!Azure 運用管理
 
【BS11】毎年訪れる .NET のメジャーバージョンアップに備えるために取り組めること
【BS11】毎年訪れる .NET のメジャーバージョンアップに備えるために取り組めること 【BS11】毎年訪れる .NET のメジャーバージョンアップに備えるために取り組めること
【BS11】毎年訪れる .NET のメジャーバージョンアップに備えるために取り組めること
 
App controllerとwindows azure packで作る大規模プライベートクラウド
App controllerとwindows azure packで作る大規模プライベートクラウドApp controllerとwindows azure packで作る大規模プライベートクラウド
App controllerとwindows azure packで作る大規模プライベートクラウド
 
Getting Started .NET Core
Getting Started .NET CoreGetting Started .NET Core
Getting Started .NET Core
 
SC2012 VMM SP1 Update ヒーロー島 版
SC2012 VMM SP1 Update ヒーロー島 版SC2012 VMM SP1 Update ヒーロー島 版
SC2012 VMM SP1 Update ヒーロー島 版
 
Windows 7 オプショナルツール 一挙紹介
Windows 7 オプショナルツール 一挙紹介Windows 7 オプショナルツール 一挙紹介
Windows 7 オプショナルツール 一挙紹介
 
Sql server 2016 ctp 3.0 新機能
Sql server 2016 ctp 3.0 新機能Sql server 2016 ctp 3.0 新機能
Sql server 2016 ctp 3.0 新機能
 

More from Kazuki Takai

Azure Arc Automanage Machine Configuration による構成の管理と適用
Azure Arc Automanage Machine Configuration による構成の管理と適用Azure Arc Automanage Machine Configuration による構成の管理と適用
Azure Arc Automanage Machine Configuration による構成の管理と適用Kazuki Takai
 
Azure Arc Jumpstart - Azure ArcBox を使った Azure Arc 対応 SQL MI 学習環境の構築
Azure Arc Jumpstart - Azure ArcBox を使った Azure Arc 対応 SQL MI 学習環境の構築Azure Arc Jumpstart - Azure ArcBox を使った Azure Arc 対応 SQL MI 学習環境の構築
Azure Arc Jumpstart - Azure ArcBox を使った Azure Arc 対応 SQL MI 学習環境の構築Kazuki Takai
 
Azure Arc Jumpstart Update - HCIBox Edition
Azure Arc Jumpstart Update - HCIBox EditionAzure Arc Jumpstart Update - HCIBox Edition
Azure Arc Jumpstart Update - HCIBox EditionKazuki Takai
 
ArcBox のおさらいと最新情報
ArcBox のおさらいと最新情報ArcBox のおさらいと最新情報
ArcBox のおさらいと最新情報Kazuki Takai
 
Arc 対応サーバーへの SSH アクセス
Arc 対応サーバーへの SSH アクセスArc 対応サーバーへの SSH アクセス
Arc 対応サーバーへの SSH アクセスKazuki Takai
 
Insight into Azure Active Directory #02 - Azure AD B2B Collaboration New Feat...
Insight into Azure Active Directory #02 - Azure AD B2B Collaboration New Feat...Insight into Azure Active Directory #02 - Azure AD B2B Collaboration New Feat...
Insight into Azure Active Directory #02 - Azure AD B2B Collaboration New Feat...Kazuki Takai
 
Insight into Azure Active Directory - Azure AD Custom Role & Scope
Insight into Azure Active Directory - Azure AD Custom Role & ScopeInsight into Azure Active Directory - Azure AD Custom Role & Scope
Insight into Azure Active Directory - Azure AD Custom Role & ScopeKazuki Takai
 
最近の PowerShell について
最近の PowerShell について最近の PowerShell について
最近の PowerShell についてKazuki Takai
 
Windows Server 2022 Datacenter Azure Edition Overview
Windows Server 2022 Datacenter Azure Edition OverviewWindows Server 2022 Datacenter Azure Edition Overview
Windows Server 2022 Datacenter Azure Edition OverviewKazuki Takai
 
Introducing Windows Terminal
Introducing Windows TerminalIntroducing Windows Terminal
Introducing Windows TerminalKazuki Takai
 
Recap: Windows Server 2019 Failover Clustering
Recap: Windows Server 2019 Failover ClusteringRecap: Windows Server 2019 Failover Clustering
Recap: Windows Server 2019 Failover ClusteringKazuki Takai
 
使ってみよう PowerShell
使ってみよう PowerShell使ってみよう PowerShell
使ってみよう PowerShellKazuki Takai
 
5分で分かる Windows Server 2019 HCI 超概要
5分で分かる Windows Server 2019 HCI 超概要5分で分かる Windows Server 2019 HCI 超概要
5分で分かる Windows Server 2019 HCI 超概要Kazuki Takai
 
Application Platform としての Windows Server 2019
Application Platform としての Windows Server 2019Application Platform としての Windows Server 2019
Application Platform としての Windows Server 2019Kazuki Takai
 
Windows Server 2019 で Container を使ってみる
Windows Server 2019 で Container を使ってみるWindows Server 2019 で Container を使ってみる
Windows Server 2019 で Container を使ってみるKazuki Takai
 
Getting started with Windows Containers
Getting started with Windows ContainersGetting started with Windows Containers
Getting started with Windows ContainersKazuki Takai
 
Windows とコンテナの話
Windows とコンテナの話Windows とコンテナの話
Windows とコンテナの話Kazuki Takai
 
Azure Stack の使い道 - 2017年11月版 -
Azure Stack の使い道 - 2017年11月版 -Azure Stack の使い道 - 2017年11月版 -
Azure Stack の使い道 - 2017年11月版 -Kazuki Takai
 

More from Kazuki Takai (20)

Azure Arc Automanage Machine Configuration による構成の管理と適用
Azure Arc Automanage Machine Configuration による構成の管理と適用Azure Arc Automanage Machine Configuration による構成の管理と適用
Azure Arc Automanage Machine Configuration による構成の管理と適用
 
Azure Arc Jumpstart - Azure ArcBox を使った Azure Arc 対応 SQL MI 学習環境の構築
Azure Arc Jumpstart - Azure ArcBox を使った Azure Arc 対応 SQL MI 学習環境の構築Azure Arc Jumpstart - Azure ArcBox を使った Azure Arc 対応 SQL MI 学習環境の構築
Azure Arc Jumpstart - Azure ArcBox を使った Azure Arc 対応 SQL MI 学習環境の構築
 
Azure Arc Jumpstart Update - HCIBox Edition
Azure Arc Jumpstart Update - HCIBox EditionAzure Arc Jumpstart Update - HCIBox Edition
Azure Arc Jumpstart Update - HCIBox Edition
 
ArcBox のおさらいと最新情報
ArcBox のおさらいと最新情報ArcBox のおさらいと最新情報
ArcBox のおさらいと最新情報
 
Arc 対応サーバーへの SSH アクセス
Arc 対応サーバーへの SSH アクセスArc 対応サーバーへの SSH アクセス
Arc 対応サーバーへの SSH アクセス
 
Insight into Azure Active Directory #02 - Azure AD B2B Collaboration New Feat...
Insight into Azure Active Directory #02 - Azure AD B2B Collaboration New Feat...Insight into Azure Active Directory #02 - Azure AD B2B Collaboration New Feat...
Insight into Azure Active Directory #02 - Azure AD B2B Collaboration New Feat...
 
Insight into Azure Active Directory - Azure AD Custom Role & Scope
Insight into Azure Active Directory - Azure AD Custom Role & ScopeInsight into Azure Active Directory - Azure AD Custom Role & Scope
Insight into Azure Active Directory - Azure AD Custom Role & Scope
 
最近の PowerShell について
最近の PowerShell について最近の PowerShell について
最近の PowerShell について
 
Windows Server 2022 Datacenter Azure Edition Overview
Windows Server 2022 Datacenter Azure Edition OverviewWindows Server 2022 Datacenter Azure Edition Overview
Windows Server 2022 Datacenter Azure Edition Overview
 
Azure Arc 概要
Azure Arc 概要Azure Arc 概要
Azure Arc 概要
 
Introducing Windows Terminal
Introducing Windows TerminalIntroducing Windows Terminal
Introducing Windows Terminal
 
Recap: Windows Server 2019 Failover Clustering
Recap: Windows Server 2019 Failover ClusteringRecap: Windows Server 2019 Failover Clustering
Recap: Windows Server 2019 Failover Clustering
 
使ってみよう PowerShell
使ってみよう PowerShell使ってみよう PowerShell
使ってみよう PowerShell
 
5分で分かる Windows Server 2019 HCI 超概要
5分で分かる Windows Server 2019 HCI 超概要5分で分かる Windows Server 2019 HCI 超概要
5分で分かる Windows Server 2019 HCI 超概要
 
Application Platform としての Windows Server 2019
Application Platform としての Windows Server 2019Application Platform としての Windows Server 2019
Application Platform としての Windows Server 2019
 
Windows Server 2019 で Container を使ってみる
Windows Server 2019 で Container を使ってみるWindows Server 2019 で Container を使ってみる
Windows Server 2019 で Container を使ってみる
 
Getting started with Windows Containers
Getting started with Windows ContainersGetting started with Windows Containers
Getting started with Windows Containers
 
Windows とコンテナの話
Windows とコンテナの話Windows とコンテナの話
Windows とコンテナの話
 
DSC 再入門
DSC 再入門DSC 再入門
DSC 再入門
 
Azure Stack の使い道 - 2017年11月版 -
Azure Stack の使い道 - 2017年11月版 -Azure Stack の使い道 - 2017年11月版 -
Azure Stack の使い道 - 2017年11月版 -
 

Recently uploaded

AWS Lambdaと AWS API Gatewayを使ったREST API作り
AWS Lambdaと AWS API Gatewayを使ったREST API作りAWS Lambdaと AWS API Gatewayを使ったREST API作り
AWS Lambdaと AWS API Gatewayを使ったREST API作りiPride Co., Ltd.
 
これからはじめるAnsible - Ansible Night Tokyo 2024
これからはじめるAnsible - Ansible Night Tokyo 2024これからはじめるAnsible - Ansible Night Tokyo 2024
これからはじめるAnsible - Ansible Night Tokyo 2024Hideki Saito
 
キンドリル_ネットワーク自動化成熟度診断サービス ご紹介資料 2024年3月版
キンドリル_ネットワーク自動化成熟度診断サービス ご紹介資料 2024年3月版キンドリル_ネットワーク自動化成熟度診断サービス ご紹介資料 2024年3月版
キンドリル_ネットワーク自動化成熟度診断サービス ご紹介資料 2024年3月版Takayuki Nakayama
 
JAWS DAYS 2024 E-3 ランチにまつわるちょっといい話 〜給食がない町の小中学生に温かい昼食を〜
JAWS DAYS 2024 E-3 ランチにまつわるちょっといい話 〜給食がない町の小中学生に温かい昼食を〜JAWS DAYS 2024 E-3 ランチにまつわるちょっといい話 〜給食がない町の小中学生に温かい昼食を〜
JAWS DAYS 2024 E-3 ランチにまつわるちょっといい話 〜給食がない町の小中学生に温かい昼食を〜Naomi Yamasaki
 
SIG-AUDIO 2024 Vol.02 オンラインセミナー 「必殺使音人(ひっさつしおとにん)カットシーンを成敗せよ」
SIG-AUDIO 2024 Vol.02 オンラインセミナー 「必殺使音人(ひっさつしおとにん)カットシーンを成敗せよ」SIG-AUDIO 2024 Vol.02 オンラインセミナー 「必殺使音人(ひっさつしおとにん)カットシーンを成敗せよ」
SIG-AUDIO 2024 Vol.02 オンラインセミナー 「必殺使音人(ひっさつしおとにん)カットシーンを成敗せよ」IGDA Japan SIG-Audio
 
IGDA Japan SIG Audio #22 オンラインセミナー VRの知る.pdf
IGDA Japan SIG Audio #22 オンラインセミナー VRの知る.pdfIGDA Japan SIG Audio #22 オンラインセミナー VRの知る.pdf
IGDA Japan SIG Audio #22 オンラインセミナー VRの知る.pdfIGDA Japan SIG-Audio
 
AWS_Bedrock入門 このスライドは2024/03/08の勉強会で発表されたものです。
AWS_Bedrock入門 このスライドは2024/03/08の勉強会で発表されたものです。AWS_Bedrock入門 このスライドは2024/03/08の勉強会で発表されたものです。
AWS_Bedrock入門 このスライドは2024/03/08の勉強会で発表されたものです。iPride Co., Ltd.
 
The 86th National Convention of IPSJ (Student Encouragement Award))
The 86th National Convention of IPSJ (Student Encouragement Award))The 86th National Convention of IPSJ (Student Encouragement Award))
The 86th National Convention of IPSJ (Student Encouragement Award))yoshidakids7
 
チームで開発するための環境を整える
チームで開発するための環境を整えるチームで開発するための環境を整える
チームで開発するための環境を整えるonozaty
 
バイオリンの運弓動作計測による初心者と経験者の差異分析
バイオリンの運弓動作計測による初心者と経験者の差異分析バイオリンの運弓動作計測による初心者と経験者の差異分析
バイオリンの運弓動作計測による初心者と経験者の差異分析sugiuralab
 
00001_test_automation_portfolio_20240313
00001_test_automation_portfolio_2024031300001_test_automation_portfolio_20240313
00001_test_automation_portfolio_20240313ssuserf8ea02
 
キャラで動かすGPT ~GPTsでどんな感じに作っているとか考えていることとか~
キャラで動かすGPT ~GPTsでどんな感じに作っているとか考えていることとか~キャラで動かすGPT ~GPTsでどんな感じに作っているとか考えていることとか~
キャラで動かすGPT ~GPTsでどんな感じに作っているとか考えていることとか~honeshabri
 

Recently uploaded (12)

AWS Lambdaと AWS API Gatewayを使ったREST API作り
AWS Lambdaと AWS API Gatewayを使ったREST API作りAWS Lambdaと AWS API Gatewayを使ったREST API作り
AWS Lambdaと AWS API Gatewayを使ったREST API作り
 
これからはじめるAnsible - Ansible Night Tokyo 2024
これからはじめるAnsible - Ansible Night Tokyo 2024これからはじめるAnsible - Ansible Night Tokyo 2024
これからはじめるAnsible - Ansible Night Tokyo 2024
 
キンドリル_ネットワーク自動化成熟度診断サービス ご紹介資料 2024年3月版
キンドリル_ネットワーク自動化成熟度診断サービス ご紹介資料 2024年3月版キンドリル_ネットワーク自動化成熟度診断サービス ご紹介資料 2024年3月版
キンドリル_ネットワーク自動化成熟度診断サービス ご紹介資料 2024年3月版
 
JAWS DAYS 2024 E-3 ランチにまつわるちょっといい話 〜給食がない町の小中学生に温かい昼食を〜
JAWS DAYS 2024 E-3 ランチにまつわるちょっといい話 〜給食がない町の小中学生に温かい昼食を〜JAWS DAYS 2024 E-3 ランチにまつわるちょっといい話 〜給食がない町の小中学生に温かい昼食を〜
JAWS DAYS 2024 E-3 ランチにまつわるちょっといい話 〜給食がない町の小中学生に温かい昼食を〜
 
SIG-AUDIO 2024 Vol.02 オンラインセミナー 「必殺使音人(ひっさつしおとにん)カットシーンを成敗せよ」
SIG-AUDIO 2024 Vol.02 オンラインセミナー 「必殺使音人(ひっさつしおとにん)カットシーンを成敗せよ」SIG-AUDIO 2024 Vol.02 オンラインセミナー 「必殺使音人(ひっさつしおとにん)カットシーンを成敗せよ」
SIG-AUDIO 2024 Vol.02 オンラインセミナー 「必殺使音人(ひっさつしおとにん)カットシーンを成敗せよ」
 
IGDA Japan SIG Audio #22 オンラインセミナー VRの知る.pdf
IGDA Japan SIG Audio #22 オンラインセミナー VRの知る.pdfIGDA Japan SIG Audio #22 オンラインセミナー VRの知る.pdf
IGDA Japan SIG Audio #22 オンラインセミナー VRの知る.pdf
 
AWS_Bedrock入門 このスライドは2024/03/08の勉強会で発表されたものです。
AWS_Bedrock入門 このスライドは2024/03/08の勉強会で発表されたものです。AWS_Bedrock入門 このスライドは2024/03/08の勉強会で発表されたものです。
AWS_Bedrock入門 このスライドは2024/03/08の勉強会で発表されたものです。
 
The 86th National Convention of IPSJ (Student Encouragement Award))
The 86th National Convention of IPSJ (Student Encouragement Award))The 86th National Convention of IPSJ (Student Encouragement Award))
The 86th National Convention of IPSJ (Student Encouragement Award))
 
チームで開発するための環境を整える
チームで開発するための環境を整えるチームで開発するための環境を整える
チームで開発するための環境を整える
 
バイオリンの運弓動作計測による初心者と経験者の差異分析
バイオリンの運弓動作計測による初心者と経験者の差異分析バイオリンの運弓動作計測による初心者と経験者の差異分析
バイオリンの運弓動作計測による初心者と経験者の差異分析
 
00001_test_automation_portfolio_20240313
00001_test_automation_portfolio_2024031300001_test_automation_portfolio_20240313
00001_test_automation_portfolio_20240313
 
キャラで動かすGPT ~GPTsでどんな感じに作っているとか考えていることとか~
キャラで動かすGPT ~GPTsでどんな感じに作っているとか考えていることとか~キャラで動かすGPT ~GPTsでどんな感じに作っているとか考えていることとか~
キャラで動かすGPT ~GPTsでどんな感じに作っているとか考えていることとか~
 

Recap: PowerShell Core

  • 1. #T32 Recap: PowerShell Core Interact 2018 (2018.06.30) Kazuki Takai
  • 2. 自己紹介  高井 一輝 (Takai Kazuki)  某ISP勤務  クラウドサービスの開発、設計、設備維持  Windows Server / System Center / Linux / etc…  Microsoft MVP - Cloud and Datacenter Management  System Center User Group Japan (SCUGJ)  Twitter : @zhuky7 / Facebook : kazuki.takai  Blog : http://operationslab.wordpress.com/
  • 3. セッションの内容  お話しすること  PowerShell Core とは何か  Windows PowerShell との違い  PowerShell Core を使うべきか  お話ししないこと  PowerShell の構文  PowerShell の使い方  Windows Server 2016 Nano Server 上の PowerShell Core 5 / 5.1
  • 4. セッションのゴール  Windows PowerShell と PowerShell Core の違いについて理解する  何となく使い所が分かる  PowerShell Core を使うための準備ができる  使おうと思ったときに利用できる
  • 5. ところで…  Windows PowerShell を使っている方  PowerShell Core を使っている方  PowerShell を Windows の管理に使っている方  PowerShell を Linux の管理に使っている方  PowerShell を Azure の管理に使っている方  Microsoft Azure を使っている方  PowerShell を Office 365 の管理に使っている方  Office 365 を使っている方  PowerShell をアプリケーションの処理(の一部)に使っている方  PowerShell のモジュールを開発している方
  • 6. Agenda  PowerShell Core とは  PowerShell Core を使う(ことを検討する)べき人  PowerShell Core のインストール  PowerShell Core と Remoting  Azure Cloud Shell と PowerShell Core
  • 7. はじめる前に  本資料の内容は個人的な検証結果に基づきます  所属する会社や組織、マイクロソフト社の公式な見解を記載するものではありません  表記や内容に誤りがあるなど、お気づきの点があれば、ご連絡いただけると幸いです  本セッションでは PowerShell 6.0.2 及び 6.1.0 Preview 3 を使用します  今後のリリースで機能や動作が変更、削除される可能性があります
  • 8. PowerShell 6.0 is Generally Available  PowerShell Core 6.0 GA – 2018/01/10  PowerShell Team Blog – PowerShell Core 6.0: Generally Available (GA) and Supported!  PowerShell 6.0.1 – 2018/01/25  Engine updates  Address vulnerabilities  PowerShell 6.0.2 – 2018/03/15  Engine updates  Address vulnerabilities  Fix some bugs and Improvements
  • 9. PowerShell Core とは  Full .NET Framework に依存しない PowerShell  .NET Core ベース  クロスプラットフォーム  Windows Client, Windows Server, Ubuntu, Debian, CentOS, Red Hat Enterprise Linux, OpenSUSE, Fedora, macOS, Arch Linux, Kali Linux, AppImage (Linux), Windows on ARM32/ARM64, Raspbian (Stretch) 注:公式にはサポートされないものや実験的なリリースも含む  PowerShell 6 は PowerShell Core としての最初のリリース(Nano を除く)  PowerShell 2.0 – 5.x : Windows PowerShell  PowerShell Core 5.x : PowerShell Core for Windows Server 2016 Nano Server  PowerShell 6 : PowerShell Core
  • 10. PowerShell Core と Windows PowerShell の主な違い PowerShell Core Windows PowerShell Latest Version PowerShell 6.0.2 / 6.1.0 Preview 3 PowerShell 5.1 (with WMF 5.1) Platform / OS Windows (x86/x64/arm), Linux, macOS Windows (x86/x64) Runtime .NET Core (.NET Core 2.0) .NET Framework Edition ($PSEdition) Core Desktop Executable binary pwsh (pwsh.exe) powershell.exe WMF Independent Required Remoting (PSRP) SSH or WinRM WinRM Default Encoding UTF-8 (with NO BOM) UTF-16 Lifecycle Microsoft Modern Lifecycle Policy Depends on OS Lifecycle Licensing MIT license Depends on OS license
  • 11. Windows における PowerShell  Windows PowerShell は引き続きサポートされる  OS 及び Windows Management Framework のサポートポリシーに基づく  大幅な機能追加やエンハンスは行われない予定  GitHub label:Consider-WindowsPowerShell51  PowerShell Core は個別にインストールが必要  In-box ツールとして OS に含まれるかどうかは未定(現時点で予定無し)  Windows PowerShell を置き換える予定は、現時点では無し  PowerShell Core と Windows PowerShell は共存可能  バイナリやパスは基本的に異なる  Remoting については注意が必要
  • 12. PowerShell Core への移行  全ての人が PowerShell Core / PowerShell 6 へ移行すべきか? No  PowerShell Core は Windows PowerShell の全てをカバーするものではない  少なくとも現時点では  互換性は継続的に改善される予定
  • 13. PowerShell Core を使うべき人  PowerShell Core を使ってみる・使い始めた方がよい人  クロスプラットフォーム / マルチプラットフォームで PowerShell を利用したい人  Container などの、開発スピードが速いプロダクトを利用している(したい)人  Windows Server Semi-Annual Channel を利用している人  Microsoft Azure や Office 365 などの管理に PowerShell を使用している人  アプリケーションの処理の一部に PowerShell を使用したい人  アプリケーション固有のパッケージングをしたい人  PowerShell モジュールを開発している人  PowerShell の動作を変えたい人(PowerShell のコードを改修したい人)
  • 14. PowerShell Core を使わなくてもよい人  必要がなければ、Windows PowerShell を使い続ければよい人  Windows Server の管理のみに PowerShell を使用している人  Windows Server を Long Term Servicing Channel で使用している人  Windows のプリミティブな操作を、提供済みの PowerShell モジュールを使用して実行し ている人  同じ構成・バージョンで長期間サポートされることが重要なシステム(で使用する人)  新規のコード:PowerShell Core でも動作するように書いたほうが良い  既存のコード:必要がないなら、今すぐ書き直す必要はない  今後のメンテナンス性を考慮した場合に、書き直したほうが良いのであれば、併せて PowerShell Core との互換性を考慮する
  • 15. その他の変更点  インストールパス、モジュールパス、プロファイル PowerShell Core Windows PowerShell $PSHOME C:¥Program Files¥PowerShell¥6.0.2 C:¥Windows¥System32¥WindowsPowerShell¥v1.0 $env:PSModulePath C:¥Users¥<user>¥Documents¥PowerShell¥Modules C:¥Program Files¥PowerShell¥Modules c:¥program files¥powershell¥6.0.2¥Modules C:¥Users¥<user>¥Documents¥WindowsPowerShell¥Modules C:¥Program Files¥WindowsPowerShell¥Modules C:¥WINDOWS¥system32¥WindowsPowerShell¥v1.0¥Modules $PROFILE.AllUsersAllHosts C:¥Program Files¥PowerShell¥6.0.2¥profile.ps1 C:¥Windows¥System32¥WindowsPowerShell¥v1.0¥profile.ps1 $PROFILE.AllUsersCurrentHost C:¥Program Files¥PowerShell¥6.0.2¥Microsoft.PowerShell_profile.ps1 C:¥Windows¥System32¥WindowsPowerShell¥v1.0¥Microsoft.PowerShel l_profile.ps1 $PROFILE.CurrentUserAllHosts C:¥Users¥<user>¥Documents¥PowerShell¥profile.ps1 C:¥Users¥<user>¥Documents¥WindowsPowerShell¥profile.ps1 $PROFILE.CurrentUserCurrentHost C:¥Users¥<user>¥Documents¥PowerShell¥Microsoft.PowerShell_ profile.ps1 C:¥Users¥<user>¥Documents¥WindowsPowerShell¥Microsoft.PowerShe ll_profile.ps1
  • 16. その他の変更点  Path の区切り文字は “/” と “¥” の両方を利用可能  Linux と macOS の PowerShell Core は Case sensitive  実行モジュールのデフォルトオプションが -Command から -File に変更  pwsh <script path> と書ける  OS の判定に組み込み変数が利用可能  $IsWindows  $IsLinux  $IsMacOs  etc...
  • 17. Support Lifecycle  PowerShell Core Support Lifecycle  https://docs.microsoft.com/en-us/powershell/scripting/powershell-core- support?view=powershell-6  あくまで例です!
  • 18. 注意点  多数の破壊的な変更  Workflow はサポートされない  カスタムスナップインはサポートされない  WMI v1 コマンドレットはサポートされない  Microsoft.PowerShell.LocalAccounts 及び *-Counter はサポートされない  その他、Windows 固有のモジュールは、現時点で大多数が移植されていない  ComputerName スイッチが *-Computer 及び *-Service コマンドレットから削除  etc...  https://docs.microsoft.com/en-us/powershell/scripting/whats- new/breaking-changes-ps6?view=powershell-6
  • 19. PowerShell Core のインストール  最新の情報は GitHub  https://github.com/PowerShell/PowerShell  一部は Microsoft Docs へのリンク  https://docs.microsoft.com/en-us/powershell/scripting/powershell- scripting?view=powershell-6  https://docs.microsoft.com/en-us/powershell/scripting/setup/installing- powershell-core-on-windows?view=powershell-6  https://docs.microsoft.com/en-us/powershell/scripting/setup/installing- powershell-core-on-linux?view=powershell-6
  • 20. GitHub / PowerShell コンパイル済みの Package を 直接ダウンロードしたい場合は こちら インストール手順の参照はこちら (Package Repository を使用した インストール方法もこちら)
  • 21. Docs / PowerShell  英語版を推奨 PowerShell 6 を選択 Overview → Install → PowerShell Core インストール対象の Platform を選択 PowerShell Core と Windows PowerShell の ドキュメントが入り混じっているので注意!
  • 22. PowerShell Core を試す  OS にインストールする  Windows, Linux, macOS / 物理 or VM  周辺環境を含めてテスト可能  PowerShell Remoting など  Docker コンテナーを実行  Windows, Linux  PowerShell Core と、その上で実行するモジュールのテストが可能  管理対象(操作対象)は、コンテナーの外側で別途用意
  • 23. Docker コンテナーの使用  一般的なコンテナーの実行と同様  https://github.com/PowerShell/PowerShell/tree/master/docker  docker search  docker pull  docker run  Microsoft の Repository  https://hub.docker.com/r/microsoft/powershell/  利用したいベース OS 環境が無い場合等は、自分で Build  docker build  Docker for Winodows の現時点での最新版(stable channel : 18.03.1-ce-win65)だと Linux Container の Build に失敗するので注意(edge channel の最新では修正されているはず)
  • 25. Windows へのインストール  Prerequisites  Windows 7 SP1 又は Windows Server 2008 R2 以降(かつサポート期間内)の OS  Windows 10 Universal C Runtime  Windows 8.1 又は Windows Server 2012 R2 以前の場合は、KB3118401 等をインストール  WMF 4.0 以降  WMF 5.1 を推奨  インストール  PowerShell-<version>-win-<os-arch>.msi をダウンロードして実行
  • 26. Windows へのインストール  Windows Server 2016 の場合、 Microsoft Visual C++ 2015 Redistributable Update 3 のイ ンストールは不要になりました
  • 27. Server Core へのインストール  PowerShell (Windows PowerShell) を起動して  [Net.ServicePointManager]::SecurityProtocol += [System.Net.SecurityProtocolType]::Tls12  Invoke-WebRequest -Uri "https://github.com/PowerShell/PowerShell/releases/download/v6.0.2/PowerSh ell-6.0.2-win-x64.msi" -UseBasicParsing -OutFile PowerShell-6.0.2-win-x64.msi  msiexec.exe /i PowerShell-6.0.2-win-x64.msi /qn
  • 28. Ubuntu へのインストール  curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -  curl https://packages.microsoft.com/config/ubuntu/$(grep DISTRIB_RELEASE /etc/lsb-release | cut -d= -f2)/prod.list | sudo tee /etc/apt/sources.list.d/microsoft.list  sudo apt update  sudo apt install powershell
  • 29. CentOS / RHEL へのインストール  curl https://packages.microsoft.com/config/rhel/7/prod.repo | sudo tee /etc/yum.repos.d/microsoft.repo  sudo yum install powershell
  • 30. PowerShell Core と Remoting  PowerShell Remoting Protocol (PSRP) のトランスポート プロトコルとして、 以下を利用可能  WinRM (Windows Remote Management) / WS-Management  Windows Remote Management (WS-Management) Service  PSRP-Server with OMI  SSH (Secure Shell)  OpenSSHd
  • 31. PowerShell Remoting Stack WS-Management WinRM SSH PowerShell Remoting Protocol PowerShell Remoting Protocol SSH PowerShell PowerShell cmd.exe / bash Objects Objects Text Windows PowerShell PowerShell Core
  • 33. PSRP over WinRM / WSMan  Windows の場合  PowerShell Core に接続するよう設定を登録する必要がある  接続先で PowerShell Core を起動して以下を実行  $PSPath = "C:¥Program Files¥PowerShell¥6.0.2"  Set-LocalGroup $PSPath  .¥Install-PowerShellRemoting.ps1 -PowerShellHome $PSPath  接続する場合は、Session Configuration を指定する  Linux の場合  omi-psrp-server をインストールして構成すればできるかも(開発中)
  • 34. PSRP over WinRM / WSMan  注意点  Windows to Windows  Windows PowerShell と同様  ワークグループ環境で NTML を使う場合は、TrustedHosts を適切に設定する、等  Linux to Windows  Basic Auth over HTTP はサポートされない  https://github.com/PowerShell/PowerShell/pull/6787  受け側で HTTPS Transport を設定して、over HTTPS で接続  PowerShell Core に New-PSSessionOption が無い!!
  • 35. PSRP over SSH  Windows の場合  Win32-OpenSSH をインストール(もしくは Windows の機能として有効化)  https://github.com/PowerShell/Win32-OpenSSH/releases  リリースファイルを展開して install-sshd.ps1 を実行  Windows Firewall で 22/tcp の Inbound を許可  サービスを自動的に開始するよう設定、サービスを開始  sshd_config で PowerShell を Subsystem として登録  Subsystem powershell c:¥pwsh¥pwsh.exe -sshs -NoLogo –NoProfile ※ PowerShell Core のパスにスペースが含まれていると sshd がうまく処理できない(バグ)  sshd を再起動
  • 36. PSRP over SSH  Linux の場合  sshd_config で PowerShell を Subsystem として登録  Subsystem powershell /usr/bin/pwsh -sshs -NoLogo -NoProfile  sshd を再起動  全般として  sshd としての設定は、通常通り  パスワード認証の許可 / 拒否  鍵認証の許可 / 拒否
  • 37. Azure Cloud Shell  これ  Bash と PowerShell が選択可能  Bash (on Linux Container)  PowerShell (on Windows Container ??)
  • 40. Azure Cloud Shell – PowerShell  作成を進めると…
  • 42. 何はともあれ  Azure Cloud Shell の PowerShell は Linux 上の PowerShell Core へ移行予定  Changes coming to PowerShell (preview) in Azure Cloud Shell  https://azure.microsoft.com/ja-jp/blog/pscloudshellrefresh/  Linux コンテナーの方が起動が速い等の理由による
  • 43. Azure Cloud Shell を使うには  Portal 右上のシェルボタンをクリック  Bash か PowerShell かを選択  ストレージアカウントを作成するサブスクリプションを選択  Cloud Shell 環境で使用するストレージ  待つ
  • 45. Tips: ファイルの永続化  Azure Cloud Shell の Compute リソースは適宜リサイクルされる  永続化ストレージ領域(CloudDrive)が自動的にマウントされる  永続化が必要なファイルは CloudDrive へ配置  Cloud Shell 上でユーザーがインストールしたモジュールは、自動的に CloudDrive へ保存される  PowerShell 版の場合、$HOME は永続化されないので注意
  • 46. Tips: Cloud Drive  実体は、Cloud Shell 利用開始時に作成したストレージアカウント  ストレージアカウント内に作成されたファイル共有  $HOME/CloudDrive へ自動マウント  Y:¥ でもアクセス可能  Cloud Shell の稼働リージョンと同一リージョンのファイル共有を利用可能  利用している Cloud Shell のインスタンス稼働リージョンと同一である必要がある  $env:ACC_LOCATION  CloudDrive を介して、Azure Cloud Shell 内とファイルのやり取りが可能
  • 47. Tips: Azure Drive  “Azure:” PSDrive  Azure リソースを取り扱う PSDrive  他の PSDrive と同様、Azure リソースへのシームレスなアクセスを提供  コンテキスト依存で応答が変化  Resource Group の自動判定  利用可能な Resource Manager Command の自動判定
  • 48. まとめ  とりあえず PowerShell Core を使ってみてもよいのでは?
  • 49. 参考資料  PowerShell Team Blog  https://blogs.msdn.microsoft.com/powershell/  GitHub  https://github.com/PowerShell