[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2ch.scのread.cgiへ]
Update time : 01/13 09:52 / Filesize : 263 KB / Number-of Response : 1047
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

【最強CUI】PowerShell -Part 2



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/

896 名前:デフォルトの名無しさん mailto:sage [2018/07/26(木) 18:46:55.24 ID:BBodZQOS.net]
VBAはMSの暗黒面だから一緒にしないでほしい

897 名前:デフォルトの名無しさん mailto:sage [2018/07/26(木) 19:03:10.56 ID:OM9s1u3H.net]
日本語が通じないのはお互い様だろ。

C#に比較して楽に書けて無いだろ。
つまりC#を元に考えればゴミということになる。

別途VSCodeとかを入れるのは面倒じゃ無いのか?

C#のコード部品にもインテリセンスが効くのか?

楽だとすればそれはC#のことでPowerShellは文字列変数にコード入れなきゃならん。
そして文字列をC#のコードとして動かす為にもAdd-Type呼び出すなどと面倒なことをしなきゃならん。

898 名前:デフォルトの名無しさん mailto:sage [2018/07/26(木) 20:41:15.58 ID:T4rU0dQ5.net]
>>860
まったくもってその通りで C#>PowerSell だよ

もっと書くと
C# > PowerSell >>>>>>>>> VBA
だけど

なんで唐突にC#と比べはじめちゃったの?

899 名前:デフォルトの名無しさん mailto:sage [2018/07/26(木) 20:43:42.29 ID:5d1EUyas.net]
向こうでもVSCodeやらIDE入れたら〜ってレスしてるやついるけどさ

VBAを主に使うのは事務屋

事務の職場は(開発系と違って)外部ソフトの導入を渋られる所が多い

結局Windows付属の
・VBA
・VBS
・cmd
・PowerShell
しか使えない

エクセルにあまり関わらない処理はPowerShellでやってもいいんじゃね

って感じだと思うの
(というか、現にウチがこれ)

この、VBA(VB6)かPowerShell「しか」手段がない前提で行けば、
C#のソース読み込むとか多少歪んだ使い方だとしてもVBAよりPowerShellを使いたくなる時があるのは理解できるだろ?

もちろんVBAもバリバリ使ってるけどな

なんでどちらかだけしか使う価値がない!!!みたいな話になってんだろ

900 名前:デフォルトの名無しさん mailto:sage [2018/07/26(木) 21:19:35.67 ID:xTcDuoaq.net]
マクラーは何でもかんでもVBAでやりたがるから

901 名前:デフォルトの名無しさん mailto:sage [2018/07/26(木) 23:53:09.37 ID:8XjexWHE.net]
Add-Typeはメタプログラミングするときに便利

902 名前:デフォルトの名無しさん mailto:sage [2018/07/26(木) 23:56:00.76 ID:OM9s1u3H.net]
>>862
逆の話でね、こっちはず―っとそういうことを言ってるの。
その度にPowerShellしか価値が無いと言われてるんだよ。
ず―っと適材適所と言ってる。

903 名前:デフォルトの名無しさん mailto:sage [2018/07/27(金) 00:00:29.39 ID:/pOg/k3/.net]
>>865
VBAでスクレイピングだとか1ファイルで完結とか言っといて適材適所を主張してます!は頭おかしいんじゃねえの?

904 名前:デフォルトの名無しさん mailto:sage [2018/07/27(金) 00:03:25.35 ID:hpcoy/E6.net]
>>861
全くその通りじゃね―んだよ。
VisualStudioが入って無い、もしくは入れられない環境ではC#は意味がねえ。
だから適材適所なんだよ。

大体、PowerShellがVBAに勝てるわけねえんだよ。
VBAが使われる環境ではVBA>>>PowerShellだし。
PowerEellが使われる環境ではPowerShell>>>VBAだろう。
噛み合わねえんだよ。



905 名前:デフォルトの名無しさん mailto:sage [2018/07/27(金) 00:06:37.08 ID:hpcoy/E6.net]
>>866
1ファイルになるのはExcelの環境だからだろ。
そういう土俵(環境)なんだからVBAが有利なのは仕方無いだろ。
スクレイピングもExcelブックにデータを展開するのが前提だぞ。
そうじゃなかったらVBAでやるべきじゃない。

906 名前:デフォルトの名無しさん mailto:sage [2018/07/27(金) 00:13:06.60 ID:hpcoy/E6.net]
汎用的な開発だったら何でVBAでやるんだよ。
そりゃアホだろ。

VBAの議論をするならExcelの環境が大前提なんだから他の言語はそれに合わせなければならない。
だから他言語は不利になるのあたり前の話。

こういう話は当然PowerShellにもあるわけで、だから適材適所なわけ。

907 名前:デフォルトの名無しさん mailto:sage [2018/07/27(金) 01:27:22.29 ID:/pOg/k3/.net]
>>867
噛み合わないのはお前の理解力と日本語能力のせいでは??
正直なんでいきなり演説かましてんだこいつって感じだぞ

908 名前:デフォルトの名無しさん mailto:sage [2018/07/27(金) 06:29:32.02 ID:Z7cB5M3n.net]
1ファイルになるのがメリットみたいな言い分が謎
逆にデメリットだろそれは
ファイル分けて管理したほうが開発しやすいだろ常識的に考えて
最終的に配布を1ファイルにしたいならJSみたいにバンドルすりゃいいだけだし
なんならワンライナーのオンラインインストーラーでもいい

909 名前:デフォルトの名無しさん mailto:sage [2018/07/27(金) 06:40:59.87 ID:uuBPM4V2.net]
>>871
> ファイル分けて管理したほうが開発しやすいだろ常識的に考えて
それは開発側の都合でしかない
そんな事を意識しない利用者にとっては単一ファイルの方がいいのは当たり前
> なんならワンライナーのオンラインインストーラーでもいい
インストールとかバカすぎる w

910 名前:デフォルトの名無しさん mailto:sage [2018/07/27(金) 06:58:14.44 ID:1B0+N/X4.net]
ちっちゃな事で荒れるな。
IT土方同士仲良くしろ。

911 名前:デフォルトの名無しさん mailto:sage [2018/07/27(金) 07:22:54.24 ID:Z7cB5M3n.net]
>>872
脊髄反射でレスしないで読んでから返せない?

ユーザー都合で1ファイルがいいなら、1ファイルにバンドルすりゃいいだろ、って読めなかった?

インストールがダメってのも意味不明だな
ユーザー目線ならそれこそ何ファイルだろうがツールとして使えれば良いのだから、インストールスクリプトは有力な選択肢になる

1ファイルが良いってのもそもそもお前の思い込みでしかなくて、世の中には複数ファイルのツールのほうが遥かに多く、利用されてる
ユーザーは結果として簡単に使えればそんなことは気にしないんだよ

912 名前:デフォルトの名無しさん mailto:sage [2018/07/27(金) 08:02:02.45 ID:uuBPM4V2.net]
>>874
VBAでバンドルとやらをどうやるつもりなのか書いてみ
> ユーザーは結果として簡単に使えれば
って豪語するんだから今のExcelファイル単体並に簡単に使えるんだよな w

913 名前:デフォルトの名無しさん mailto:sage [2018/07/27(金) 08:14:39.55 ID:hpcoy/E6.net]
>>874
1ファイルにバンドル?
ExcelブックにPS1をバンドルしてどうするんだ?
個別に動かすの?
それじゃ1ファイルの意味ねーだろ。
第一、VBAは面倒とか言ってたのにそういう面倒なことするの?

Excelブックを渡した相手に余計な何かをインストールさせるのか。
VBAならそんなこと丸っきり必要ないのに。
インストールしなくても同じことが出来るならインストールしな

914 名前:ォゃならんのはどう見てもデメリット。

世の中はExcelブックと他に何か別のファイルを持ち歩くのが遥かに多いとか、バカ過ぎるだろ。

ユーザーは簡単に使えれば中のコードがどうとか何の言語とかは優先度が低い。

Excelが前提のVBA批判をしてる自覚ある?
世の中には複数ファイルのツールってExcelの何?
なんか、ひとりよがりに感じるな。
[]
[ここ壊れてます]



915 名前:デフォルトの名無しさん mailto:sage [2018/07/27(金) 08:58:29.44 ID:5SOHwwXD.net]
適材適所とか言っておいてこれだよ
どんな場所でもVBAが適材になると思ってるらしい

916 名前:デフォルトの名無しさん mailto:sage [2018/07/27(金) 11:09:47.17 ID:t79VcJbD.net]
Excelの場合はVBAは適材と読めるけど

917 名前:デフォルトの名無しさん mailto:sage [2018/07/27(金) 12:06:33.39 ID:9o30Opw+.net]
日本語が通じないのが一番困るねぇ
なんでエクセルにpsをバンドルするって話にすり変わってんだよ
開発は複数のPs1でやって配布は1つのps1にバンドルしてやるって話だろが

918 名前:デフォルトの名無しさん mailto:sage [2018/07/27(金) 12:06:57.97 ID:wTR8C+Yu.net]
excel自体が適材じゃないから
ありとあらゆるものがexcelだから

919 名前:デフォルトの名無しさん mailto:sage [2018/07/27(金) 12:15:36.26 ID:9o30Opw+.net]
ファイル渡すだけ

インストールワンライナーをコピペしてシェル叩くだけ
あるいは1つのインストールスクリプトをダウンロードして実行するだけ

どっちも初回の手間は大して変わらんだろう

でも、エクセルファイル渡しは後々のバージョン管理で混乱するから、総合的に見てインストールのほうが楽だね

920 名前:デフォルトの名無しさん mailto:sage [2018/07/27(金) 12:18:56.01 ID:9o30Opw+.net]
エクセルは他のもの要らないんだー

見つからない参照


鉄板あるあるネタwww


psはライブラリなければセントラルリポジトリからとってくるだけなのでこんなアホな目に合わんで済む

921 名前:デフォルトの名無しさん mailto:sage [2018/07/27(金) 12:26:36.44 ID:2qIHcbej.net]
ライブラリなんて使うからそうなる
全部自分で1から書き上げるか、歴史ある秘伝の自作ソースをコピペすれば事足りる
工夫で乗り切れるのだ




らしいっすよ?

922 名前:デフォルトの名無しさん mailto:sage [2018/07/27(金) 12:44:53.66 ID:hpcoy/E6.net]
>>877
だから話の流れを読め。
Excel限定のVBAの話から始まっている。
どんな場所でもでは無い。
Excel限定だ。
元々の>>871が既にExcel限定を考慮せずにおかしなことになってる。

>>878
そうとも限らない場合もあるけど基本的にはその通り。
それに対してどんな場合でもVBAはダメっていう主張が有って、VBA側はそれに反論してる。

923 名前:デフォルトの名無しさん mailto:sage [2018/07/27(金) 12:47:15.71 ID:hpcoy/E6.net]
>>881
その手間が既に面倒くさいだろ。
しかもブック開いてるのに別スクリプトも動かすのか?

めんどうだわ。

924 名前:デフォルトの名無しさん mailto:sage [2018/07/27(金) 12:51:06.22 ID:hpcoy/E6.net]
>>882
そもそも基本的にMicrosoft謹製以外は使用NGが普通だぞ。
ライブラリのコードを全て把握してるとか自社で作成したものなら別だが。



925 名前:デフォルトの名無しさん mailto:sage [2018/07/27(金) 13:10:58.41 ID:2qIHcbej.net]
>>885
Excelにくっついてくるソルバーアドイン使うのでさえ
オプションクリックしてアドインクリックして有効なアドインクリックしてチェックボックスクリックして…
とかやるのよりよっぽど簡単

926 名前:デフォルトの名無しさん mailto:sage [2018/07/27(金) 18:25:06.09 ID:hpcoy/E6.net]
>>887
???
既にそんな設定は済んでいるが。

927 名前:デフォルトの名無しさん mailto:sage [2018/07/27(金) 18:29:23.81 ID:HpMLTKup.net]
>>884
Excelありきの話ならVBAスレでバトルしてこい

ここはPowerShellスレでPowerShellはなんでもできるオールラウンダーだ
PSerは心が広いからExcelコントロールの話をするなということはない
だがExcelの話題で縛れというなら流石に付き合う理由はない

繰り返す
Excelありきの話ならVBAスレで

928 名前:やれ []
[ここ壊れてます]

929 名前:デフォルトの名無しさん mailto:sage [2018/07/27(金) 18:34:48.47 ID:hpcoy/E6.net]
>>889
そうなんだよな。
本当は長居するつもりも無かったんだが
頓珍漢なレスが多くて反応して今に至ってる。

930 名前:デフォルトの名無しさん mailto:sage [2018/07/27(金) 18:37:15.79 ID:hpcoy/E6.net]
元々VBAスレがPowerShell信者に荒らされてな。
そのままスレが最後までいって次が立つまでの間にこっちに書いたらこうなった。

931 名前:デフォルトの名無しさん mailto:sage [2018/07/27(金) 20:52:54.00 ID:/pOg/k3/.net]
>>888
お前が済んでたらファイル渡されたユーザーも参照できんのかよ

932 名前:デフォルトの名無しさん mailto:sage [2018/08/01(水) 09:22:45.41 ID:LkPgJ43O.net]
v6.0.3 Release of PowerShell Core
https://github.com/PowerShell/PowerShell/releases/tag/v6.0.3

933 名前:デフォルトの名無しさん mailto:sage [2018/08/05(日) 15:25:02.08 ID:iWriYPq8.net]
C#は.NET無い環境だとブレークポイントで止めながらデバッグとか出来ないってことでいいのでしょうか?

934 名前:デフォルトの名無しさん mailto:sage [2018/08/05(日) 16:13:15.95 ID:8pU3W85Z.net]
>>894
.NET無いってどういうこと?



935 名前:デフォルトの名無しさん mailto:sage [2018/08/05(日) 16:58:00.21 ID:iWriYPq8.net]
>>895
Visual Studioでした。すみません。

936 名前:デフォルトの名無しさん mailto:sage [2018/08/05(日) 21:27:02.69 ID:8pU3W85Z.net]
>>896
omnisharp
これ以上は適切なスレで

937 名前:デフォルトの名無しさん mailto:sage [2018/08/08(水) 06:10:45.62 ID:9IQgpJP5.net]
Add-TypeでC#をコンパイルしてアセンブリを吐き出すことってできない?
cscをつかうかCodeDOMをつかうっきゃないか

938 名前:デフォルトの名無しさん mailto:sage [2018/08/08(水) 07:33:51.33 ID:aBUsJDbY.net]
>>898
そこまできたら普通にRoslyn使えよ…

939 名前:デフォルトの名無しさん mailto:sage [2018/08/08(水) 09:28:50.60 ID:t8dLk4fV.net]
>>898
-OutputAssembly
-OutputType

https://technet.microsoft.com/ja-jp/library/dd315241.aspx

940 名前:デフォルトの名無しさん mailto:sage [2018/08/10(金) 02:50:48.12 ID:r84RRSaO.net]
日本語環境でUpdate-Helpが成功した方いますか?

941 名前:デフォルトの名無しさん mailto:sage [2018/08/12(日) 11:52:57.19 ID:AqaK+sLZ.net]
「Write-Host $Args[0]」とだけ書いたスクリプトを、コマンドプロンプトから
「powershell ./test.ps1 "(笑)"」
と呼び出すと「CommandNotFoundException」が発生します。

括弧が悪いようですが、やっぱり渡す前に「"`(笑`)"」みたいにバッククォートで括弧をエスケープするしかないんですかね?
実際は引数に何が来るかわからないので、できればPowerShell側でなんとかしたいんですが。

942 名前:デフォルトの名無しさん mailto:sage [2018/08/12(日) 14:22:48.08 ID:pjLEMieq.net]
>>902
powershell -file ./test.ps1 "(笑)"

943 名前:デフォルトの名無しさん mailto:sage [2018/08/13(月) 20:44:05.76 ID:9GVffBEY.net]
>>903
いけました、ありがとうございます!

944 名前:デフォルトの名無しさん mailto:sage [2018/08/13(月) 22:24:06.95 ID:aFOAPcea.net]
livedoor.blogimg.jp/teishaba_604/imgs/4/8/48b73c81-s.jpg



945 名前:デフォルトの名無しさん mailto:sage [2018/08/15(水) 21:56:44.38 ID:JQmIXjO5.net]
>>905
店名は「笑」と書いてショウと読むのに対し,
「(笑)」は「(笑い)」の省略されたものなのでワラもしくはワライと読むはずなので,
その画像は不適切

946 名前:905 mailto:sage [2018/08/16(木) 23:27:16.70 ID:3IMawj9A.net]
>>906
いや、そもそもスレチなんでまともに相手しないであげて下さいw

ところでPowershellで何かわからないことあってググると
大体「mtgpowershell.blogspot.com/」のサイトがヒットすることが多いんだけど
このサイト運営してる人ってすごく頭がいいんだろうなあ

947 名前:デフォルトの名無しさん mailto:906 [2018/08/17(金) 02:04:19.83 ID:ApTQfLt8.net]
>>907
ネタにマジレスするっていうネタやで

俺もそのサイトは度々参考にさせてもらってるわ
http

948 名前:://tech.guitarrapc.com/archive/category/PowerShell
↑このサイトもおすすめ。「PowerShell実践ガイドブック」の作者。
[]
[ここ壊れてます]

949 名前:デフォルトの名無しさん mailto:sage [2018/08/17(金) 07:49:40.85 ID:ObWRp2dL.net]
>>905
>>906
麺屋側は商売だから
とくに「ワラ」とか
ネットスラングまんまの店名つけるわけない

950 名前:907 mailto:sage [2018/08/17(金) 21:38:03.34 ID:OW713aU2.net]
>>909
俺が悪かったのでもうスレチにマジレスは勘弁して下さい。(^_^;)

>>908
Powershellの書籍まで出してる人のサイトか、すごいですね。
使えるTIPSあるかひと通り見てみますね。

951 名前:デフォルトの名無しさん mailto:sage [2018/08/26(日) 17:31:51.65 ID:ueCC70T4.net]
さすがに空白区切りの項目を$3とかで参照できないよな
awkが特殊すぎるか

952 名前:デフォルトの名無しさん mailto:sage [2018/08/26(日) 22:38:58.94 ID:BD3/9DfM.net]
特化された言語と比べなければ十分シンプルかな
cat $1 | % { $a = -split $_; $a[3] + $a[2] }
変数への代入が少しやぼったく感じる

953 名前:デフォルトの名無しさん mailto:sage [2018/08/27(月) 08:30:13.32 ID:C7OBrvX6.net]
ふむふむ、笑は「わら」って読まないのか…
1つ勉強になったわ
            笑笑店主


954 名前:デフォルトの名無しさん mailto:sage [2018/09/05(水) 21:03:41.11 ID:223DM7Lb.net]
>>889
「PowerShellは何でもできる」は嘘。
お前は死んでいい。つーか死ね。
PoewerShellやっても背は伸びなかったし、彼女出来なかったし、宝くじにも当たらなかったわ!!!!

まぁそれは冗談として。
「何でも」ってのは流石に撤回しろよ。

あ、俺は >>884 ではない。



955 名前:デフォルトの名無しさん mailto:sage [2018/09/05(水) 21:34:41.59 ID:ueA0fDDX.net]
PowerShellで赤ちゃんできました、ありがとうございます!!

956 名前:デフォルトの名無しさん mailto:sage [2018/09/05(水) 22:18:06.97 ID:+hZ+CXx5.net]
>>914
> PoewerShellやっても背は伸びなかったし、彼女出来なかったし、宝くじにも当たらなかったわ!!!!
それパチモンやん

957 名前:デフォルトの名無しさん mailto:sage [2018/09/05(水) 22:34:57.71 ID:67GmsqOi.net]
毛が生えてきました

958 名前:デフォルトの名無しさん mailto:sage [2018/09/05(水) 23:18:58.56 ID:223DM7Lb.net]
PqewrShellを飲んで二か月です。
アソコビンビンで妻も満足です。

こう?

959 名前:デフォルトの名無しさん mailto:sage [2018/09/05(水) 23:24:51.36 ID:67GmsqOi.net]
通常の蜆の30倍
蘇る男の自信

960 名前:デフォルトの名無しさん mailto:sage [2018/09/06(木) 06:56:43.48 ID:OzF+wVKL.net]
蜆ってしじみのことか
PowerShell…米国の製薬会社で開発された貝のサプリかな

961 名前:デフォルトの名無しさん mailto:sage [2018/09/06(木) 21:28:59.42 ID:tWUwV9UN.net]
Powershellやりはじめたら台風被害にあったよ><

家の前の自転車が倒れただけだけど

962 名前:デフォルトの名無しさん mailto:sage [2018/09/08(土) 14:31:58.13 ID:oTozgSe4.net]
PowerShell Core 6.x (以下 PS6) を導入した環境でスクリプトを実行する際、
実行環境を容易に 旧来の PowerShell 5 (以下 PS5)、PS6 とで
切り替える方法ってありますか?

モジュールの関係で PS5 でないと動作しないものもあるので、こっちのスクリプトは
PS5 で動かしたい、ほかは PS6 で、って感じで混在してます。

海外のスレッドでは、拡張子「.ps6」を独自に追加してそれで切り替えれば?みたいな
回答が出てましたけど、汎用性に欠けるのであんまりそういうことはしたくないんです。
Linux みたいに shebang 行で切り替えられれば一番なんですけど。

なにかアイディア無いですか?

963 名前:デフォルトの名無しさん mailto:sage [2018/09/08(土) 14:40:20.95 ID:MO8wxn5E.net]
一行目読み取ってどっちを起動するか切り替える実行ファイルつくればいいやん

964 名前:デフォルトの名無しさん mailto:sage [2018/09/08(土) 15:06:48.98 ID:hiBN1no6.net]
切り替えるってのがよく分からん
そもそもps1ファイル自体は実行しても何も起こらないんじゃなかったっけ



965 名前:デフォルトの名無しさん mailto:sage [2018/09/08(土) 15:24:39.69 ID:YwBJn4st.net]
そりゃスクリプトはテキストファイルだから実行形式じゃないよ
画像ビューアにコマンドライン引数で画像パス渡せば画像が開くでしょ
スクリプトの実行はそれと同じことやってるの
なんでプログラム板でこんなこと説明しないといけないんだ

966 名前:デフォルトの名無しさん mailto:sage [2018/09/08(土) 16:26:12.38 ID:L0x65Qz7.net]
いやだからさ
実行元がpwshとpowershellで明確に違うのに何を切り替えるのか分からんのよ

967 名前:デフォルトの名無しさん mailto:sage [2018/09/08(土) 16:37:52.36 ID:nMBTba9u.net]
拡張子の関連付け問題の話?
バ―ジョンチェックとどちらで起動するかのリストを持ってる振り分けアプリ作って、.ps1への関連付けをそれにするとか。

968 名前:デフォルトの名無しさん mailto:sage [2018/09/08(土) 16:47:51.96 ID:oKnpK5oG.net]
実行された環境がPS6だったら自身をPS5で実行して終了するスクリプトを
PS5で実行したいファイルの頭に書いておけばいいんじゃね

969 名前:デフォルトの名無しさん mailto:sage [2018/09/08(土) 17:33:30.08 ID:oTozgSe4.net]
例えば、Active Directory 管理用モジュール「ActiveDirectory」は、現状
powershell.exe でしか動かず、pwsh.exe ではインポートできないわけ。

--------
参考
https://docs.microsoft.com/ja-jp/powershell/scripting/whats-new/breaking-changes-ps6?view=powershell-6
PowerShell スナップインは、PowerShell モジュールの前身ですが、PowerShell コミュニティではあまり使用されていません。
-- snip --
現時点では、Windows および Windows Server 内の ActiveDirectory および DnsClient モジュールに影響します。
--------

というわけで、今俺が作ってるものだと、以下のものが混在してる。
イ)powershell.exe でしか動かない
ロ)pwsh.exe でしか動かない
ハ)どっちでも動く

で、〜.ps1 ファイルを実行する際に、右クリックして「PowerShell で実行」とすると、何もしなければ powershell.exe で
実行される。自分が作ったものはほとんどが(ハ)なんだけど、時々(ロ)もあって、それを実行するときは右クリックして「PowerShell で実行」が出来ないんで面倒。

今検討してるのは、
a) pwsh.exe でしか動かないものは拡張子を .ps6 でにして、Windows に ps6 を pwsh.exe に関連付ける
b) sendto フォルダに pwsh.exe で実行させるバッチファイルを置く
c) バッチファイル (〜.cmd) に、実行環境ごと書いてしまう (参考 d.hatena.ne.jp/hake/20180218/p1 )

なんだけど、ほかにやりよう無いかね。

970 名前:デフォルトの名無しさん mailto:sage [2018/09/08(土) 18:08:00.82 ID:+HZWtY92.net]
UNIXシェルのシバンみたいのが理想なら>>928は現実的な最適解だと思うんだけど何故スルー?

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 名前:過去ログ ★ [[過去ログ]]
■ このスレッドは過去ログ倉庫に格納されています






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<263KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef