PowerShellは、Windows上の反復作業を自動化できるキャラクターユーザーインターフェイス(CUI)です。コマンド入力だけで操作できるため、キーボードがあれば、PCのほとんどすべての操作をすることができます。そこで今回は、PowerShellで利用できるコマンドについて、詳しくご紹介します。
PowerShellとは
PowerShellは、Microsoftが開発したスクリプト言語、キャラクターユーザーインターフェイス(CUI) です。CUIを使えば、PCを動かしているWindows OSに、テキストで直接コマンド命令を出せるようになります。プログラムを指定して起動させたり、ファイルの位置を移動させたりすることも可能です。
コマンド入力によって命令を出すため、マウスを操作する必要はありません。なお、PowerShellはWindows 10に標準装備されているので、Windows 10ユーザーなら利用する際にコストが発生することはありません。
PowerShellのコマンドレットとは
PowerShell は、Windows PowerShell 環境でコマンドを実行する PowerShell スクリプト言語で記述された関数「コマンドレット」を使うことができます。コマンドレットは、従来のコマンドをわかりやすくしたもので、「動詞-名詞」という命名規則で作られているのが特徴です。
そのため、従来よりもコマンドの内容を直感的に把握できるという大きなメリットがあります。Webブラウザーの管理ポータルに移動する必要もなく、ビジネスアプリケーションプラットフォームで対話できるのも特徴です。
Power Platformで実行できるPowerShellコマンド
ここからは、Power Platformで実行できるPowerShellコマンドをご紹介していきます。
事前インストール
アプリ作成者用のPowerShellコマンドレットを実行するには、事前に次の手順に従って準備する必要があります。
- 管理者として PowerShell を実行します。
- 次のコマンドを使って必要なモジュールをインポートします。
Install-Module -Name Microsoft.PowerApps.Administration.PowerShell
Install-Module -Name Microsoft.PowerApps.PowerShell -AllowClobber
コンピューターの管理者権限がない場合は、次のコマンドを使用します。
Save-Module -Name Microsoft.PowerApps.Administration.PowerShell -Path
Import-Module -Name Microsoft.PowerApps.Administration.PowerShell
Save-Module -Name Microsoft.PowerApps.PowerShell -Path
Import-Module -Name Microsoft.PowerApps.PowerShell - リポジトリのインストールポリシーの値の変更を受け入れるよう要求された場合は、すべてのモジュールに対し、「A」を入力し、さらに各モジュールに対しては入力を押下して同意します。
- コマンドにアクセスする前に、資格情報を入力するオプションがあります。資格情報は最長約 8 時間で更新されるため、その間に再びサインインしてコマンドレットを使う必要があります。資格情報を入力するコマンドの詳細については、こちらをご覧ください。
Power Appsのコマンド
目的 | コマンドレット |
---|---|
Microsoft Dataverse ソリューションへのキャンバス アプリケーションの追加 | Set-PowerAppAsSolutionAware |
環境の読み取り | Get-PowerAppEnvironment (以前は Get-PowerAppsEnvironment) Get-FlowEnvironment |
キャンバス アプリケーションの読み取り、更新、および削除 | Get-PowerApp (以前の Get-App) Remove-PowerApp (以前の Remove-App) Publish-PowerApp (以前の Publish-App) Set-AppDisplayName (以前の Set-PowerAppDisplayName) Get-PowerAppVersion (以前の Get-AppVersion) Restore-PowerAppEnvironment (以前の Restore-AppVersion) |
キャンバス アプリのアクセス許可の読み取り、更新、および削除 | Get-AdminPowerAppRoleAssignment (以前の Get-AppRoleAssignment) Remove-AdminPowerAppRoleAssignment (以前の Remove-AppRoleAssignment) |
フローの読み取り、更新、および削除 | Get-AdminFlow Enable-AdminFlow Disable-AdminFlow Remove-AdminFlow |
Power Automateのコマンド
目的 | コマンドレット |
---|---|
すべてのフローの表示 | Get-AdminFlow |
フロー所有者のロールの詳細の表示 | Get-AdminFlowOwnerRole –EnvironmentName 'EnvironmentName' –FlowName 'FlowName' |
フロー ユーザーの詳細の表示 | Get-AdminFlowUserDetails –UserId $Global:currentSession.userId |
フロー ユーザーの詳細の削除 | Remove-AdminFlowUserDetails –UserId 'UserId' |
すべてのフローを CSV ファイルにエクスポート | Get-AdminFlow | Export-Csv -Path '.\FlowExport.csv' |
API接続のコマンド
目的 | コマンドレット |
---|---|
既定の環境のすべてのネイティブ接続を表示 | Get-AdminPowerAppEnvironment -Default | Get-AdminPowerAppConnection |
テナントのすべてのカスタム コネクタの表示 | Get-AdminPowerAppConnector |
データ損失防止(DLP)ポリシーのコマンド
目的 | コマンドレット |
---|---|
DLPポリシーの作成 | New-DlpPolicy |
DLP オブジェクトのリストの取得 | Get-DlpPolicy |
DLP ポリシーの更新 | Set-DlpPolicy |
ポリシーの削除 | Remove-DlpPolicy |
まとめ
PowerShellを活用すれば、反復作業の自動化による業務効率化も実現できます。コマンドレットはプログラミング初心者でも操作しやすいので、学習コストがかからないというメリットもあるでしょう。複雑な命令や処理をすれば、ExcelやWordを一元管理することも可能です。この機会にPowerShellを導入して、業務の自動化と生産性向上に役立ててみませんか?