powershell

関数のparamと$args

function foo { param($xxx) } foo "abc" -x -y -z $xxx -> abc $args -> -x, -y, -z foo "abc" "efg" -x -y -z $xxx -> abc $args -> efg, -x, -y, -z foo "abc","efg" -x -y -z $xxx -> abc, efg $args -> -x -y -z foo -x -y -z "foo" $xxx -> "" $args -…

変数がnullかどうか調べる

配列に-eq -ne 演算子を行うと、個々の要素に演算子を適用して、 trueと判定された要素の配列を返す。(真偽値ではなく配列を返す。) PS > 1,2,3 -eq 3 配列 @(3) を返すそして、以下のような配列は、偽と判定される。 @() ,$false ,0 ,"" ,$null ,@() よって…

基本

調べる get-help -detailed -parameter -examples gcm (get-command) -syntax gal (get-alias) gm (get-member) gdr (get-psdrive) h (get-history) (h -Id 5) | iex フォーマット fl (format-list) ft (format-table) fw (format-wide) fc (format-custom) …

スクリプト署名

まず、自己認証局をつくり、そこからスクリプト署名用の証明書を発行する。 .NET SDK > makecert -n "CN=自己認証局の証明書" -a sha1 -eku 1.3.6.1.5.5.7.3.3 -r -ss Root -sv root.pvk root.cer (rsaキーのパスフレーズをきかれるので、入力する) .NET SDK…

ページャ

powershell のパイプは .NETオブジェクトが直接流れるObjectパイプ。 コマンドレット(内部コマンド)ではなく、従来の外部コマンドにパイプを使うと、 powershellはオブジェクトを文字列に変換して渡す。 が、そのエンコードはASCII。 PS > "abcいろは" | nkf…