2ちゃんねる スマホ用 ■掲示板に戻る■ 全部 1- 最新50    

■ このスレッドは過去ログ倉庫に格納されています

【最強CUI】PowerShell -Part 2

1 :デフォルトの名無しさん:2016/11/26(土) 06:30:02.67 ID:pZYy6q7Y.net
前スレ
【最強CUI】PowerShell -Part 1
http://echo.2ch.net/test/read.cgi/tech/1378978504/

952 :デフォルトの名無しさん:2018/09/14(金) 07:52:52.25 ID:itNItVhP.net
powershellにはbuild toolないのか

953 :デフォルトの名無しさん:2018/09/14(金) 09:15:39.59 ID:u+Z35nAl.net
Announcing PowerShell Core 6.1
https://blogs.msdn.microsoft.com/powershell/2018/09/13/announcing-powershell-core-6-1/

954 :デフォルトの名無しさん:2018/09/14(金) 10:16:47.60 ID:60Mnn9Dg.net
これは朗報だ!
---------
AWS Lambda は PowerShell Core をサポートします
https://aws.amazon.com/jp/about-aws/whats-new/2018/09/aws-lambda-supports-powershell-core/

955 :デフォルトの名無しさん:2018/09/14(金) 12:28:03.19 ID:Z7a8n8W6.net
6.1日本語使えない?

956 :デフォルトの名無しさん:2018/09/14(金) 13:01:26.89 ID:/Xr9NdPd.net
>>954
PowerShellでWeb API作る需要あるのかな

957 :デフォルトの名無しさん:2018/09/14(金) 14:27:05.47 ID:60Mnn9Dg.net
>>956
自分の場合だけど、Windows の EC2 インスタンスと連携するプログラムを Lambda 上で
作る案件がちょくちょくあって、これまでは Windows 上は PowerShell、Lambda のほうは
P{ython で作ることが多かった。
だけど自分のスキルのせいもあって、PowerShell と Python のコーディングを同時並行で進めると
色々と混乱することが少なくなかったのね。

# 両方 Python で作れば、と思うかもしれんけど、運用の手間を考えると、
# 追加でインストールするものはなるべく少なくしたい

それが、Lambda で PowerShell Core が使えるなら PowerShell で統一できるので、
個人的にすごく捗るな、と。

958 :デフォルトの名無しさん:2018/09/16(日) 13:14:02.90 ID:16Y59QgZ.net
class構文じゃなくて本物の型を定義したい場合にはAdd-Typeしかないのかな
GUI作るときにPSObjectがうまくデータバインドできなくて困った

959 :デフォルトの名無しさん:2018/09/28(金) 12:50:16.79 ID:8vtXqMhV.net
https://news.mynavi.jp/itsearch/article/hardware/4054
Powershell6.1で大分パフォーマンス上がったみたいね

パフォーマンス以外に起動も結構早くなった感じ

960 :デフォルトの名無しさん:2018/09/28(金) 13:35:11.01 ID:oUAtTcYe.net
Macだからかもしれない
Macでの実行環境は最適化する余地が大きく残ってたとかがあり得る
Windowsでどうかは比較してみないとなんとも

961 :デフォルトの名無しさん:2018/09/28(金) 15:32:47.04 ID:ExWLpVS+.net
psわざわざ入れるって無理だな
有り物使うだけだからOSアプデで付くのを待つしかない

962 :デフォルトの名無しさん:2018/10/05(金) 17:32:43.04 ID:LWyIHUF+.net
PowershellはOSによってプリインストールバージョン違うの地味に面倒だな
MS Updateで5.0までは強制的にアップデートしてくれないかな
客先のサーバでSQLモジュールも入って無くてInstall-moduleも入って無くてスクリプト使えなくて困ったわ

963 :デフォルトの名無しさん:2018/10/05(金) 20:42:27.53 ID:OkuzM4NB.net
今の10の1803ってバージョン何が入ってるの

964 :デフォルトの名無しさん:2018/10/05(金) 21:07:07.34 ID:YbvjOj4C.net
5.1

965 :デフォルトの名無しさん:2018/10/06(土) 10:44:13.46 ID:fld0/WcD.net
2.0ベースでなんとかするテクニックは必須ですよね

966 :デフォルトの名無しさん:2018/10/06(土) 14:33:29.33 ID:gea8Zy97.net
テクニックって程のものって何かある?
使える使えないの差ぐらいじゃないの

967 :デフォルトの名無しさん:2018/10/06(土) 16:17:11.73 ID:J00E9zwo.net
再来年1月にはPowershell2.0プリインストール環境が終了するから2.0に合わせた書き方頑張る気力がイマイチ
Windows7とか2008R2は早く死んでくれないかな

968 :デフォルトの名無しさん:2018/10/06(土) 16:48:11.63 ID:h/HmdYY4.net
Windows7とか2008R2は最後のまともなバージョン

969 :デフォルトの名無しさん:2018/10/06(土) 21:18:07.69 ID:MlTlM5yZ.net
Windows 2000 Proが一番良かった。

970 :デフォルトの名無しさん:2018/10/06(土) 23:10:20.08 ID:tgEP6apu.net
>>967
SP1入れずに使ってる環境なんてほぼ無いだろ?なら4.0覚えときゃOK

個人的にはzipクラスがある4.5が望ましい

971 :デフォルトの名無しさん:2018/10/06(土) 23:21:17.76 ID:SoS+Fgug.net
とりあえず3.0以降じゃないとちょっと辛いイメージ

972 :デフォルトの名無しさん:2018/10/07(日) 00:45:26.55 ID:/+/kkqPE.net
何が辛いんだい
ほら言ってごらん

973 :デフォルトの名無しさん:2018/10/07(日) 00:51:14.63 ID:KvcjzmFM.net
3.0以降じゃないとPsCustomObject使えないとか、コマンドレット充実してなくてNETライブラリ使う羽目になって、もうこれC#で書いたほうが良くね?になるあたりかね

974 :デフォルトの名無しさん:2018/10/07(日) 02:34:13.34 ID:MeohIHbL.net
coreに移行して大分経ってからGet-ScheduledTaskとかのWindows専用っぽいコマンドレット無くなってるのに気付いた
まあこれはあんまり使わんしpowershell.exeで実行すりゃいいか

975 :デフォルトの名無しさん:2018/10/07(日) 06:17:50.14 ID:mFTX0OZ0.net
where-objectでフィルタをかける時、複数条件が必要な場合は
パイプでつなぐしかないですかね?andとかあればいいんですけど
where-object 条件1 | where-object 条件2

976 :デフォルトの名無しさん:2018/10/07(日) 06:44:39.40 ID:MeohIHbL.net
論理演算子はもちろんあります
-and -orなど

977 :デフォルトの名無しさん:2018/10/07(日) 10:50:24.18 ID:VwaVbKnV.net
>>975
サンプルだと
? {$arg -eq "test" -or $arg2 -eq "test"}
みたいな感じ
-使う演算子が繋がって違和感あるかもしれんけど

978 :デフォルトの名無しさん:2018/10/07(日) 11:44:45.71 ID:I8sm2uyS.net
そもそもカンマでcriteraの文字列を区切ればor指定になるのでは

979 :デフォルトの名無しさん:2018/10/07(日) 21:44:12.84 ID:/+/kkqPE.net
>>978
どゆこと?
$arg -eq "test1","test2"
とかやってもならないけど

980 :デフォルトの名無しさん:2018/10/08(月) 20:48:01.10 ID:7Fv0bXJp.net
パワーシェル内でパワーシェルを呼び出す時、どのパワーシェルの処理が成功してるか失敗してるかわかるようにログ出すのはどうすればいいんでしょうか?

981 :デフォルトの名無しさん:2018/10/08(月) 21:56:04.04 ID:sIA/07pT.net
>>980
スクリプトの名前等を頭につけるとか

982 :デフォルトの名無しさん:2018/10/08(月) 22:04:42.09 ID:7Fv0bXJp.net
ごめん。全然わからん・・・

983 :デフォルトの名無しさん:2018/10/08(月) 22:05:00.95 ID:vQC6HMz5.net
argsでIDを渡すとか
powershell -command { "ID: $($args[0])"} -args 777

984 :デフォルトの名無しさん:2018/10/08(月) 22:19:23.32 ID:7Fv0bXJp.net
バッチファイルみたいにリダイレクトではログ渡せないのかな?
2>1
みたいなかんじで?

985 :デフォルトの名無しさん:2018/10/08(月) 23:19:17.74 ID:nFrei6GD.net
$?で前回のコマンドの実行結果
$lastexitcodeにexitコマンドで返された値が入る(呼び出したスクリプトはexitに戻り値を付けて終了させないとダメ)

$?だとスクリプト内の最後のコマンドの結果が帰るからスクリプトの作りによっては失敗の判定は出来ないのはバッチとかと一緒

986 :デフォルトの名無しさん:2018/10/08(月) 23:24:06.69 ID:7Fv0bXJp.net
なるほど
呼び出すスクリプト内にエラーコードで正常か異常か$?で判定させてそれをifかなんかで分岐させてエラーコードを呼び出し元のスクリプトの$lastexitcodeをehcoする感じですかね?

987 :デフォルトの名無しさん:2018/10/08(月) 23:32:12.23 ID:rY44Et0R.net
>>979に答えてくれないか

988 :デフォルトの名無しさん:2018/10/08(月) 23:41:24.75 ID:GVMVzq1c.net
>>980
成否判定ならこれでよくね

hoge.ps1

$hoge = $true
if($hoge){exit 1}
exit 0
-------------

$ps = Start-Process hoge.ps1 -Wait -PassThru
switch($ps.ExitCode) {
0 {
"失敗"
}
1 {
"成功"
}
}

989 :デフォルトの名無しさん:2018/10/08(月) 23:44:14.86 ID:L+98sdt+.net
「どの」を見落としてる

990 :デフォルトの名無しさん:2018/10/08(月) 23:45:52.94 ID:7Fv0bXJp.net
これを呼び出すスクリプト全部に書くってこと?
呼び出し元と先が複数あって、先を全部修正するのが大変なので出来れば元だけで完結させたい
が、無理そうなのでこれを全てに書いていく?

991 :デフォルトの名無しさん:2018/10/08(月) 23:55:10.73 ID:GVMVzq1c.net
>>990
0で戻ってきたらokにでもすれば
いじらんで良いやろ

992 :デフォルトの名無しさん:2018/10/09(火) 00:01:31.08 ID:G4IJkzod.net
>>990
exitで成否を戻した方がしっかり判定できる
呼び出したスクリプトで何が発生したら失敗とするかをしっかり判定しないの?
結果コードでの判定とか曖昧すぎてトラブルの元と思う

993 :デフォルトの名無しさん:2018/10/09(火) 00:57:32.40 ID:VXCTyrZC.net
>>984
実際にやりたいことがわからないけどエラーメッセージをリダイレクトするだけなら同じようにできるよ
powershell ./hoge.ps1 2>>log.txt

994 :デフォルトの名無しさん:2018/10/09(火) 03:31:08.27 ID:0K1bBeTL.net
>>979
知らないけど、switch 文で、カンマを使うとか?

そういう意味じゃないの?

995 :デフォルトの名無しさん:2018/10/09(火) 05:18:39.42 ID:06HomXwK.net
>>979
-inならいけるけど、まあ違うんだろうな
dir | where { $_.name -in "a1.txt","a2.txt","b1.txt" }
$list = @( "a1.txt","a2.txt","b1.txt" )
dir | where { $_.name -in $list }

996 :デフォルトの名無しさん:2018/10/09(火) 08:24:03.86 ID:2kAOJdzZ.net
>>979
適当こいただけじゃないのかな
PSのカンマ演算子は配列を作り、配列の要素が複数なら内容問わず真になる
そもそもカンマでの結合はORなのかANDなのか意図が曖昧
仕様としても微妙だしバッドプラクティスに思える

997 :デフォルトの名無しさん:2018/10/09(火) 17:47:31.12 ID:G4IJkzod.net
次スレ
PowerShell -Part 3
http://mevius.5ch.net/test/read.cgi/tech/1539074808/

998 :デフォルトの名無しさん:2018/10/09(火) 18:41:58.03 ID:iKGY38Kd.net
>>997

前に同じ名前のスレが落ちてたけどこの板は保守が要るってことかな?

999 :デフォルトの名無しさん:2018/10/09(火) 21:10:27.51 ID:PXd6fmY+.net
>>994-997
ありがとう

1000 :デフォルトの名無しさん:2018/10/09(火) 21:31:03.39 ID:G4IJkzod.net
(1..1000 |% {if ($_ -eq 1000) {write-output "1000 complete!"} else { write-output $_}}) -join " "

1001 :2ch.net投稿限界:Over 1000 Thread
2ch.netからのレス数が1000に到達しました。

総レス数 1001
264 KB
掲示板に戻る 全部 前100 次100 最新50
read.cgi ver 2014.07.20.01.SC 2014/07/20 D ★