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/
878 名前:デフォルトの名無しさん mailto:sage [2018/07/24(火) 20:42:16.15 ID:cNxRMkIk.net] >>808 > PowerShellでC#コンパイル出来るとか、バカ丸出し。 残念ながらそんな昭和脳レベルの話じゃないんだな w yomon.hatenablog.com/entry/2013/06/05/PowerShell スクリプト内でC%23コードを書いて使う
879 名前:デフォルトの名無しさん mailto:sage [2018/07/25(水) 21:13:55.37 ID:Yq3sixxb.net] Powershellのコマンドを使ってあるEXEを管理者権限で起動することって出来ないでしょうか? いちいちEXEのショートカットを作って「管理者として実行」にチェックするのが面倒なので・・・ あ、OSはWin7です。
880 名前:デフォルトの名無しさん mailto:sage [2018/07/25(水) 21:15:04.89 ID:Yq3sixxb.net] ↑OSはWin10でした。すみません。
881 名前:デフォルトの名無しさん mailto:sage [2018/07/25(水) 21:41:07.86 ID:ep37fxti.net] start hoge.exe -Verb runas
882 名前:デフォルトの名無しさん mailto:sage [2018/07/25(水) 23:07:01.78 ID:GlwT5bgj.net] >>842 あんまり、荒らすつもりは無いけどそれはダメダメだね。 というか、その昔俺もその手法使ってたし。 俺の書いたPS1ファイルのタイムスタンプを見ると2011年だからその記事より前だな。 あのね、何でC#のソースを動かさなきゃならんの? そういう場面が有るとすればPowerShellだけで出来ないことをしようとする場合だろ。 つまり工夫で乗りきろうとしている場合なんだからVBAのスレを荒らしてた奴風に言わせればC#のソースを書かなきゃならん時点でPowerShellはゴミってことになるのよ。
883 名前:デフォルトの名無しさん mailto:sage [2018/07/26(木) 00:24:48.95 ID:xTcDuoaq.net] VBA内でC#のクラス定義してそのままVBA内で使えるようになってから
884 名前:o直してこい 何をするにも不合理に手間がかかるからVBAは糞だって言ってんだよ [] [ここ壊れてます]
885 名前:デフォルトの名無しさん mailto:sage [2018/07/26(木) 00:32:39.24 ID:A133ONF8.net] なんで既存のソース活用するのにcscだの別プロセスだの大げさなことしないといかんの? .NETがあるのになんで態々COMだのwinAPIだの直で触らなあかんの? っていう人間なので問題なしです
886 名前:デフォルトの名無しさん [2018/07/26(木) 06:27:07.99 ID:gfIbAgn/.net] >>847 でもPowerShellは激遅ですよ
887 名前:デフォルトの名無しさん mailto:sage [2018/07/26(木) 06:40:44.04 ID:/8jtV8/F.net] >>846 > そういう場面が有るとすればPowerShellだけで出来ないことをしようとする場合だろ。 バカなの? ・C#のほうが楽に書ける ・既存のコードが流用できる とかあるだろ
888 名前:デフォルトの名無しさん mailto:sage [2018/07/26(木) 08:08:40.25 ID:OM9s1u3H.net] >>847 PowerShellだって不合理じゃねーか。 お前は都合の良いところばかり言う。 Excelブック1ファイルで完結できるようになってから出直しな。 >>850 同じことだ。 欠点を工夫で乗りきっているわけだから。
889 名前:デフォルトの名無しさん mailto:sage [2018/07/26(木) 08:42:02.44 ID:xTcDuoaq.net] 工夫の簡単さがVBAとはダンチなんですが
890 名前:デフォルトの名無しさん mailto:sage [2018/07/26(木) 09:04:14.03 ID:EgEPuxK9.net] はるほど、ExcelVBAスレで暴れてた奴今度はこっちに来てたのか…
891 名前:デフォルトの名無しさん mailto:sage [2018/07/26(木) 12:12:12.02 ID:/8jtV8/F.net] >>851 どこが同じなんだよ w > 出来ないことをしようとする ↕ > 楽に書ける > 流用できる
892 名前:デフォルトの名無しさん mailto:sage [2018/07/26(木) 12:49:19.43 ID:OM9s1u3H.net] >>854 出来ないことをしようとする。 ←C#のコ―ドをそのままC#でコンパイルして、出来たプログラムを動かす。 出来ないことをしようとする。 ←コンパイル済みのプログラムを高速に動かす。 出来ないことをしようとする。 ←VisualStudioでGUIのデザインをする。 出来ないことをしようとする。 ←面倒なことをPowerShell単体で実現する。 な、一緒だろ。
893 名前:デフォルトの名無しさん mailto:sage [2018/07/26(木) 13:38:54.60 ID:l6m81nf0.net] 相変わらず日本語が通じない
894 名前:デフォルトの名無しさん mailto:sage [2018/07/26(木) 14:42:38.06 ID:/8jtV8/F.net] もう引っ込みつかなくなって意味不明なことを語りだしたか w
895 名前:デフォルトの名無しさん mailto:sage [2018/07/26(木) 14:55:36.09 ID:pqw8jMOd.net] PoshもVBAも 同じMS製品なんだから ケンカすんなよ
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 名前:過去ログ ★ [[過去ログ]] ■ このスレッドは過去ログ倉庫に格納されています