1
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

PowerShell 初心

Last updated at Posted at 2021-09-15

前説
Mac→Windowsへ転換。
Windowsでの有意義なCLIへ。
郷に入りては郷に従え。

Windows Terminal

Viva windows.

#PowerShell
基本的にWindowsTerminalから使う事になる。という前提。

  • Tabキーで補完。
  • ショートカットキー参考にさせてもらいつつ:https://qiita.com/whim0321/items/6a6b11dea54642bd6724#shortcut-keys
    • タブを閉じる:Ctrl + Shift + W
  • 先頭に$でいつもの感じ。変数展開であろう。
    • 例)バージョンの確認。
      • 一覧)$PSVersionTable
      • 指定)$PSVersionTable.PSVersion
  • コマンドレットと呼ばれるコマンドがあり、主に使う。
  • sudo => ["-Scope CurrentUser" or "-Scope Process"] or [管理者として実行] //いやそんなあんちょこな理解で、、、いいんだよ
    • 新規タブを管理者権限で開くには、そもそも管理者権限で起動しなければならない。
  • Scope スコープ
    • Scopeは複数ある。
    • Scope Process の方がそのプロセス限定の許可だから、とりまリスク的観点からこれ使ってけばいいかな
  • Policy ポリシー
    • Policyの種類も把握しておいてね。
    • 信頼発行元署名があれば実行とか。
    • スクリプト禁止とか
    • 全て実行可能とか
最初はこの4つだけ実行しよう。↓
  • Get-Verb. このコマンドを実行すると、ほとんどのコマンドが従う動詞の一覧が返されます。 また、応答には、これらの動詞の動作が記述されています。 ほとんどのコマンドがこの名前付け規則に従うため、コマンドの動作 (適切なコマンドの選択に役立ちます)、さらにはコマンドを作成する場合の名前付けに関する期待値が設定されます。
  • Get-Command. このコマンドでは、コンピューターにインストールされているすべてのコマンドの一覧が取得されます。
  • Get-Member. オブジェクトベースの出力に対して動作し、コマンドで使用できるオブジェクト、プロパティ、およびメソッドを検出できます。
    • 使い方が特殊でしたぞ! 例 > Get-Process | Get-Member
  • Get-Help. コマンドの名前を引数として指定してこのコマンドを呼び出すと、コマンドのさまざまな部分について説明するヘルプ ページが表示されます。

PowerShell ギャラリー

MSとPSコミュニティで運用されてる。
有意義なモジュールとスクリプトがある。
感謝と畏敬の念をもって協力的であるべし。

PowerShellGetとNuGetのインストールが必要。
要はパッケージ管理的ツールですね。

PowerShell, NuGet

###PowerShellGet

https://docs.microsoft.com/ja-jp/powershell/scripting/gallery/installing-psget?view=powershell-7.1

PowerShellGet モジュールには、PowerShell ギャラリーやその他のプライベート リポジトリでモジュール、DSC リソース、ロール機能、スクリプトなどのアーティファクトを含む PowerShell パッケージを検索、インストール、更新、公開するためのコマンドレットが含まれています。

NuGet

https://docs.microsoft.com/ja-jp/nuget/what-is-nuget

Microsoft がサポートする .NET (.NET Core を含む) のコード共有メカニズムである NuGet では、.NET 用のパッケージを作成、ホスト、使用する方法が定義されており、それらの各ロール用の ツールが提供されています。

image.png

###スクリプトの実行
はじめに。
スクリプトファイル実行時の罠。

ps1ファイルは「UTF-8」だと各方面のブログには書かれていたが、私の環境ではエラーが出た。
「UTF-8(BOM付)」で保存したら正常に実行できました。以上。

スコープとポリシーの確認
スコープ毎にポリシーの設定をするよ。
(全部同じポリシーにはしないでしょう)
image.png
CurrentUserと、LocalMachineの2つはレジストリ サブ キーに記録される。(一度設定したら再変更するまでそのままになるよって事。)

ちょいちょいとやって

PS1ファイル と PATH と function

PS1==PowerShellプロファイル
$PSScriptRoot(ver3~使用可)で現状を確認する。
プロファイルを分離する。

  • 分離した参照を追加する

配列

For each

パイプ

エラー
Trap

レジトリー(Windowsだもんね)

1
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?