1 名前:デフォルトの名無しさん mailto:sage [2016/11/26(土) 06:30:02.67 ID:pZYy6q7Y.net] 前スレ 【最強CUI】PowerShell -Part 1 echo.2ch.net/test/read.cgi/tech/1378978504/
971 名前:デフォルトの名無しさん mailto:sage [2018/09/08(土) 18:26:03.12 ID:HSx0xrFN.net] そんだけならコンテキストメニューを拡張して 「PSV5で実行」を追加すれば良くね
972 名前:デフォルトの名無しさん mailto:sage [2018/09/08(土) 19:09:29.22 ID:nMBTba9u.net] 右クリックなら選べるからコンテキストメニューをどうにかすべきだな。 ダブルクリックの話かと思ってた。
973 名前:デフォルトの名無しさん mailto:sage [2018/09/08(土) 19:12:14.31 ID:nMBTba9u.net] >>930 環境の問題とプログラム自体を分けておきたいとかあるんじゃないの?
974 名前:デフォルトの名無しさん mailto:sage [2018/09/08(土) 21:00:30.80 ID:oTozgSe4.net] >>928 イメージとしてはこんな感じかな。たしかにうまくいきそう。 ありがとう、明日試してみる。 ----------- <# ps1 の関連付けが powershell.exe の状態 (デフォルト) で、pwsh.exe で実行させたいものの場合 #> # 実行環境が ver 5 以下の場合 if ($PSVersionTable.PSVersion.Major -le 5) { pwsh.exe $MyInvocation.MyCommand.Path exit } # 以下、ver 6 以上
975 名前:ナ実行させたい内容 [] [ここ壊れてます]
976 名前:デフォルトの名無しさん mailto:sage [2018/09/08(土) 21:11:46.23 ID:oTozgSe4.net] >>931 >>932 もちろんそれでも十分可能なんだけど、以下の理由でできればカスタマイズは避けたいんです。スクリプト内だけで完結させたい。 ・マシンがたくさん、OS も複数種類、ユーザプロファイルもたくさんあるので、標準構成からあまりいじりたくない ・お客さんに納品する可能性も考慮
977 名前:デフォルトの名無しさん mailto:sage [2018/09/09(日) 12:32:25.50 ID:CjsffzYn.net] そんな条件なら最初から全部ver5用に作るわ
978 名前:デフォルトの名無しさん mailto:sage [2018/09/09(日) 12:54:55.70 ID:PZb39582.net] 運用マニュアルなしで議論してもしょうがないでしょ このスクリプトはver5環境で実行してくださいと一言書いとけば済む話
979 名前:デフォルトの名無しさん mailto:sage [2018/09/09(日) 13:48:43.10 ID:b90Mhdwq.net] そういう能書きが書いてあっても何のこっちゃ分からんという人に配布しなきゃいけない場合もあるからなぁ お客さんに運用対応を要求するのも大変なことだし
980 名前:デフォルトの名無しさん mailto:sage [2018/09/09(日) 14:14:36.64 ID:R8hBsgvF.net] >>937 はこの手の仕事したことないんだろ マニュアル書いても 「ver5環境ってなんだ?」 とか、そもそも説明なんて読んでなくて 「うまく動かないので至急なんとかしてください」 って言われるだけのこと
981 名前:デフォルトの名無しさん [2018/09/09(日) 14:39:06.98 ID:DLS5Iddq.net] これで十分 #Requires -Version 5 if ($PSVersionTable.PSEdition -eq 'Core') { throw 'Powershell Coreでは動作しません。' }
982 名前:デフォルトの名無しさん mailto:sage [2018/09/09(日) 14:42:48.50 ID:0y2Fjk63.net] 「マニュアル?あぁ読んでないわ。とにかく直しといてね」
983 名前:デフォルトの名無しさん mailto:sage [2018/09/09(日) 14:47:33.78 ID:0y2Fjk63.net] >>940 「なんか 動作しません て出るんだけど?直しといてね」
984 名前:デフォルトの名無しさん [2018/09/09(日) 15:19:04.80 ID:DLS5Iddq.net] 「対応するなら○○万円(鬱陶しい顧客リスク分を上乗せして)頂戴します。」 断るならブラック顧客だから切るべし。 断れないならブラック企業だから転職。
985 名前:デフォルトの名無しさん mailto:sage [2018/09/09(日) 15:28:45.97 ID:D8J39mU4.net] >>943 突っぱねるだけじゃなく、妥協点を見出す、Fail safe, Fool proof ってのも重要なことだよ。 まあ個人のポリシーだから好きにすればいいけど。
986 名前:デフォルトの名無しさん mailto:sage [2018/09/09(日) 15:31:06.93 ID://bKOaXP.net] 無職の妄想かよ w
987 名前:デフォルトの名無しさん mailto:sage [2018/09/09(日) 15:47:36.82 ID:jqHbfRUC.net] マニュアル書くにしたって、「エラーメッセージが出ます」と一言で説明するだけじゃ不十分 「『ver5環境では動作しません』というメッセージが表示されます。この場合...」と一字一句再現してやらないとわけわからなくなる人が山のようにいるのでね ウィンドウの背景色やフレームの色まで画像付きで説明されてないと理解できない人もいるし 舐めてると死ぬぞ
988 名前:デフォルトの名無しさん mailto:sage [2018/09/09(日) 20:12:23.17 ID:0ym3cmgA.net] 会計ソフトを出したら、それを買った客が、簿記・会計処理のことを聞いてくるw 女が電話に出ると、何時間でも粘るw そういう客もいる
989 名前:デフォルトの名無しさん mailto:sage [2018/09/09(日) 20:24:13.14 ID:H4RfJ3jl.net] >>947 それ、チャンスじゃん。 サポート料を時間当たりいくらと決めとけば良い。
990 名前:デフォルトの名無しさん mailto:sage [2018/09/09(日) 20:59:40.12 ID://bKOaXP.net] >>947 全然関係ないけど昔生理用品メーカーに納入した機器の入れ替えに行った時に聞いた話だと、お客さんからの問い合わせ(多分クレーム)で長い時は3時間とかかかるって言ってた
991 名前:934 mailto:sage [2018/09/10(月) 17:56:21.73 ID:0jDkILQ9.net] 結局こんなふ
992 名前:うにしたよ https://pastebin.com/9RWLpSC7 >>928 ありがとうごさいました! ほかの皆さんもありがとうございました! [] [ここ壊れてます]
993 名前:デフォルトの名無しさん mailto:sage [2018/09/12(水) 08:25:50.66 ID:HwQfxVDT.net] Verifying PowerShell versions…let me count the ways https://blogs.technet.microsoft.com/laurapark/2018/08/26/verifying-powershell-versions-let-me-count-the-ways/
994 名前:デフォルトの名無しさん mailto:sage [2018/09/14(金) 07:52:52.25 ID:itNItVhP.net] powershellにはbuild toolないのか
995 名前:デフォルトの名無しさん mailto:sage [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/
996 名前:デフォルトの名無しさん mailto:sage [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/
997 名前:デフォルトの名無しさん mailto:sage [2018/09/14(金) 12:28:03.19 ID:Z7a8n8W6.net] 6.1日本語使えない?
998 名前:デフォルトの名無しさん mailto:sage [2018/09/14(金) 13:01:26.89 ID:/Xr9NdPd.net] >>954 PowerShellでWeb API作る需要あるのかな
999 名前:デフォルトの名無しさん mailto:sage [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 で統一できるので、 個人的にすごく捗るな、と。
1000 名前:デフォルトの名無しさん mailto:sage [2018/09/16(日) 13:14:02.90 ID:16Y59QgZ.net] class構文じゃなくて本物の型を定義したい場合にはAdd-Typeしかないのかな GUI作るときにPSObjectがうまくデータバインドできなくて困った
1001 名前:デフォルトの名無しさん mailto:sage [2018/09/28(金) 12:50:16.79 ID:8vtXqMhV.net] https://news.mynavi.jp/itsearch/article/hardware/4054 Powershell6.1で大分パフォーマンス上がったみたいね パフォーマンス以外に起動も結構早くなった感じ
1002 名前:デフォルトの名無しさん mailto:sage [2018/09/28(金) 13:35:11.01 ID:oUAtTcYe.net] Macだからかもしれない Macでの実行環境は最適化する余地が大きく残ってたとかがあり得る Windowsでどうかは比較してみないとなんとも
1003 名前:デフォルトの名無しさん mailto:sage [2018/09/28(金) 15:32:47.04 ID:ExWLpVS+.net] psわざわざ入れるって無理だな 有り物使うだけだからOSアプデで付くのを待つしかない
1004 名前:デフォルトの名無しさん mailto:sage [2018/10/05(金) 17:32:43.04 ID:LWyIHUF+.net] PowershellはOSによってプリインストールバージョン違うの地味に面倒だな MS Updateで5.0までは強制的にアップデートしてくれないかな 客先のサーバでSQLモジュールも入って無くてInstall-moduleも入って無くてスクリプト使えなくて困ったわ
1005 名前:デフォルトの名無しさん mailto:sage [2018/10/05(金) 20:42:27.53 ID:OkuzM4NB.net] 今の10の1803ってバージョン何が入ってるの
1006 名前:デフォルトの名無しさん mailto:sage [2018/10/05(金) 21:07:07.34 ID:YbvjOj4C.net] 5.1
1007 名前:デフォルトの名無しさん mailto:sage [2018/10/06(土) 10:44:13.46 ID:fld0/WcD.net] 2.0ベースでなんとかするテクニックは必須ですよね
1008 名前:デフォルトの名無しさん mailto:sage [2018/10/06(土) 14:33:29.33 ID:gea8Zy97.net] テクニックって程のものって何かある? 使える使えないの差ぐらいじゃないの
1009 名前:デフォルトの名無しさん mailto:sage [2018/10/06(土) 16:17:11.73 ID:J00E9zwo.net] 再来年1月にはPowershell2.0プリインストール環境が終了するから2.0に合わせた書き方
1010 名前:頑張る気力がイマイチ Windows7とか2008R2は早く死んでくれないかな [] [ここ壊れてます]
1011 名前:デフォルトの名無しさん mailto:sage [2018/10/06(土) 16:48:11.63 ID:h/HmdYY4.net] Windows7とか2008R2は最後のまともなバージョン
1012 名前:デフォルトの名無しさん mailto:sage [2018/10/06(土) 21:18:07.69 ID:MlTlM5yZ.net] Windows 2000 Proが一番良かった。
1013 名前:デフォルトの名無しさん mailto:sage [2018/10/06(土) 23:10:20.08 ID:tgEP6apu.net] >>967 SP1入れずに使ってる環境なんてほぼ無いだろ?なら4.0覚えときゃOK 個人的にはzipクラスがある4.5が望ましい
1014 名前:デフォルトの名無しさん mailto:sage [2018/10/06(土) 23:21:17.76 ID:SoS+Fgug.net] とりあえず3.0以降じゃないとちょっと辛いイメージ
1015 名前:デフォルトの名無しさん mailto:sage [2018/10/07(日) 00:45:26.55 ID:/+/kkqPE.net] 何が辛いんだい ほら言ってごらん
1016 名前:デフォルトの名無しさん mailto:sage [2018/10/07(日) 00:51:14.63 ID:KvcjzmFM.net] 3.0以降じゃないとPsCustomObject使えないとか、コマンドレット充実してなくてNETライブラリ使う羽目になって、もうこれC#で書いたほうが良くね?になるあたりかね
1017 名前:デフォルトの名無しさん mailto:sage [2018/10/07(日) 02:34:13.34 ID:MeohIHbL.net] coreに移行して大分経ってからGet-ScheduledTaskとかのWindows専用っぽいコマンドレット無くなってるのに気付いた まあこれはあんまり使わんしpowershell.exeで実行すりゃいいか
1018 名前:デフォルトの名無しさん mailto:sage [2018/10/07(日) 06:17:50.14 ID:mFTX0OZ0.net] where-objectでフィルタをかける時、複数条件が必要な場合は パイプでつなぐしかないですかね?andとかあればいいんですけど where-object 条件1 | where-object 条件2
1019 名前:デフォルトの名無しさん mailto:sage [2018/10/07(日) 06:44:39.40 ID:MeohIHbL.net] 論理演算子はもちろんあります -and -orなど
1020 名前:デフォルトの名無しさん mailto:sage [2018/10/07(日) 10:50:24.18 ID:VwaVbKnV.net] >>975 サンプルだと ? {$arg -eq "test" -or $arg2 -eq "test"} みたいな感じ -使う演算子が繋がって違和感あるかもしれんけど
1021 名前:デフォルトの名無しさん mailto:sage [2018/10/07(日) 11:44:45.71 ID:I8sm2uyS.net] そもそもカンマでcriteraの文字列を区切ればor指定になるのでは
1022 名前:デフォルトの名無しさん mailto:sage [2018/10/07(日) 21:44:12.84 ID:/+/kkqPE.net] >>978 どゆこと? $arg -eq "test1","test2" とかやってもならないけど
1023 名前:デフォルトの名無しさん [2018/10/08(月) 20:48:01.10 ID:7Fv0bXJp.net] パワーシェル内でパワーシェルを呼び出す時、どのパワーシェルの処理が成功してるか失敗してるかわかるようにログ出すのはどうすればいいんでしょうか?
1024 名前:デフォルトの名無しさん mailto:sage [2018/10/08(月) 21:56:04.04 ID:sIA/07pT.net] >>980 スクリプトの名前等を頭につけるとか
1025 名前:デフォルトの名無しさん [2018/10/08(月) 22:04:42.09 ID:7Fv0bXJp.net] ごめん。全然わからん・・・
1026 名前:デフォルトの名無しさん mailto:sage [2018/10/08(月) 22:05:00.95 ID:vQC6HMz5.net] argsでIDを渡すとか powershell -command { "ID: $($args[0])"} -args 777
1027 名前:デフォルトの名無しさん [2018/10/08(月) 22:19:23.32 ID:7Fv0bXJp.net] バッチファイルみたいにリダイレクトではログ渡せないのかな? 2>1 みたいなかんじで?
1028 名前:デフォルトの名無しさん mailto:sage [2018/10/08(月) 23:19:17.74 ID:nFrei6GD.net] $?で前回のコマンドの実行結果 $lastexitcodeにexitコマンドで返された値が入る(呼び出したスクリプトはexitに戻り値を付けて終了させないとダメ) $?だとスクリプト内の最後のコマンドの結果が帰るからスクリプトの作りによっては失敗の判定は出来ないのはバッチとかと一緒
1029 名前:デフォルトの名無しさん [2018/10/08(月) 23:24:06.69 ID:7Fv0bXJp.net] なるほど 呼び出すスクリプト内にエラーコードで正常か異常か$?で判定させてそれをifかなんかで分岐させてエラーコードを呼び出し元のスクリプトの$lastexitcodeをehcoする感じですかね?
1030 名前:デフォルトの名無しさん mailto:sage [2018/10/08(月) 23:32:12.23 ID:rY44Et0R.net] >>979 に答えてくれないか
1031 名前:デフォルトの名無しさん mailto:sage [2018/10/08(月) 23:41:24.75 ID:GVMVzq1c.net] >>980 成否判定ならこれでよくね hoge.ps1 $hoge = $true if($hoge){exit 1} exit 0 ------------- $ps = Start-Pr
1032 名前:ocess hoge.ps1 -Wait -PassThru switch($ps.ExitCode) { 0 { "失敗" } 1 { "成功" } } [] [ここ壊れてます]
1033 名前:デフォルトの名無しさん mailto:sage [2018/10/08(月) 23:44:14.86 ID:L+98sdt+.net] 「どの」を見落としてる
1034 名前:デフォルトの名無しさん [2018/10/08(月) 23:45:52.94 ID:7Fv0bXJp.net] これを呼び出すスクリプト全部に書くってこと? 呼び出し元と先が複数あって、先を全部修正するのが大変なので出来れば元だけで完結させたい が、無理そうなのでこれを全てに書いていく?
1035 名前:デフォルトの名無しさん mailto:sage [2018/10/08(月) 23:55:10.73 ID:GVMVzq1c.net] >>990 0で戻ってきたらokにでもすれば いじらんで良いやろ
1036 名前:デフォルトの名無しさん mailto:sage [2018/10/09(火) 00:01:31.08 ID:G4IJkzod.net] >>990 exitで成否を戻した方がしっかり判定できる 呼び出したスクリプトで何が発生したら失敗とするかをしっかり判定しないの? 結果コードでの判定とか曖昧すぎてトラブルの元と思う
1037 名前:デフォルトの名無しさん mailto:sage [2018/10/09(火) 00:57:32.40 ID:VXCTyrZC.net] >>984 実際にやりたいことがわからないけどエラーメッセージをリダイレクトするだけなら同じようにできるよ powershell ./hoge.ps1 2>>log.txt
1038 名前:デフォルトの名無しさん mailto:sage [2018/10/09(火) 03:31:08.27 ID:0K1bBeTL.net] >>979 知らないけど、switch 文で、カンマを使うとか? そういう意味じゃないの?
1039 名前:デフォルトの名無しさん mailto:sage [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 }
1040 名前:デフォルトの名無しさん mailto:sage [2018/10/09(火) 08:24:03.86 ID:2kAOJdzZ.net] >>979 適当こいただけじゃないのかな PSのカンマ演算子は配列を作り、配列の要素が複数なら内容問わず真になる そもそもカンマでの結合はORなのかANDなのか意図が曖昧 仕様としても微妙だしバッドプラクティスに思える
1041 名前:デフォルトの名無しさん mailto:sage [2018/10/09(火) 17:47:31.12 ID:G4IJkzod.net] 次スレ PowerShell -Part 3 mevius.5ch.net/test/read.cgi/tech/1539074808/
1042 名前:デフォルトの名無しさん mailto:sage [2018/10/09(火) 18:41:58.03 ID:iKGY38Kd.net] >>997 乙 前に同じ名前のスレが落ちてたけどこの板は保守が要るってことかな?
1043 名前:デフォルトの名無しさん mailto:sage [2018/10/09(火) 21:10:27.51 ID:PXd6fmY+.net] >>994-997 ありがとう
1044 名前:デフォルトの名無しさん mailto:sage [2018/10/09(火) 21:31:03.39 ID:G4IJkzod.net] (1..1000 |% {if ($_ -eq 1000) {write-output "1000 complete!"} else { write-output $_}}) -join " "
1045 名前:1001 [Over 1000 Thread.net] このスレッドは1000を超えました。 新しいスレッドを立ててください。 life time: 682日 15時間 1分 1秒
1046 名前:過去ログ ★ [[過去ログ]] ■ このスレッドは過去ログ倉庫に格納されています