パスワードを忘れた? アカウント作成
この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。

ドイツ・ミュンヘン市、議会で「LinuxとWindowsの並立運用は困難」との声が出る」記事へのコメント

  • by Anonymous Coward on 2017年10月19日 18時08分 (#3298329)

    運用やってたときがあるんだが、VBA、PowerShellでちょいプロできるとかなりの部分が自動化できる。

    ・エクセルでリスト化した宛先・ファイルを自動でメール送信
    ・数十のCSVの一部を取り出し、集計・レポート化
    ・仮想マシンの自動デプロイ・初期設定
    ・全ユーザの特定フォルダの監視
    ・仮想マシンへアプリの自動インストール(vcenter経由)
    ・ログインユーザの取得
    ・プリンタ設定の全ユーザ一括変更

    その他100個くらいスクリプト作ったな。
    スクリプトで効率化できたのはいいけど、運用チーム15人いたのが5人になってしまった。。

    これらをLinuxでやれと言われたら無理だわー
    Linux好きで自宅では使ってるけど、業務に使うのは無謀だと思っている。

    • by Ryo.F (3896) on 2017年10月20日 8時04分 (#3298600) 日記

      運用やってたときがあるんだが、VBA、PowerShellでちょいプロできるとかなりの部分が自動化できる。

      PowerShell、結構使ってるよ。
      しかし、もうVBAとか使う気にならんね。
      CMD.exe、VBScriptやJScriptも同様。

      これらをLinuxでやれと言われたら無理だわー

      いまどき、LinuxでもMacOSでもPowerShellが動く [techcrunch.com]よ。
      ただ、Windowsにあるほどのコマンドレットはそろってないようだけど。
      Windows版と同じことはできないね。

      しかし、シェルスクリプトでもかなりのことはできちゃうけどな。
      あげられた例でいうと、Windows前提のものはできないけど、他はできるね。
      VMware系のものも、ESXi Shellでできちゃうでしょ。

      Linux好きで自宅では使ってるけど、業務に使うのは無謀だと思っている。

      クライアント系業務は、Windowsがほとんどだろうから、そうだろうね。

      世の中には、Linux系がメインの業務もあるんで、「業務」一般に拡大しちゃうと、違和感があるね。

      親コメント
    • by Anonymous Coward

      それは単に貴方のスキルが足りないからですよ。まあパワーシェルできる人のほうが多いので実際問題業務には向かないのだが。

      • by Anonymous Coward

        スキルが足りないと言うのは簡単ですが、
        出来る!ただし開発が必要・データ形式の変更が必要・導入工数に掛かる時間は含めない物とする!
        みたいな理論上は出来るみたいなコメントの感じがするのですが実際どうやったら出来るの?

    • by Anonymous Coward

      GNU系なら全部簡単にできると思うが、それをパワーシェルでやれって言われると結構時間かかると思う。無理とは言いたくないが。

      • by Anonymous Coward

        COMあるの?

      • by Anonymous Coward

        #3298329だが、Linuxでのシェルスクリプト歴の方が長いが、PowerShell触ったときは感動したぞ。
        あれはよくできていると思う。
        パイプでオブジェクトを渡せる。これできるとbashなどのシェルスクリプトはやはり時代遅れに感じるわ。
        習得までの時間やスクリプト作る時間はPowerShellの方が圧倒的に早かった(おれの場合)。
        あとVM使うことが多くなってきたが、ベンダーが用意しているAPIはPowerShellに対応したものばかり。
        PowerShellはこれから(もう?)必須技術になっていると思う。
        VBAはもう触りたくない…

        • by Ryo.F (3896) on 2017年10月20日 8時36分 (#3298616) 日記

          PowerShell賛成派。

          習得までの時間やスクリプト作る時間はPowerShellの方が圧倒的に早かった(おれの場合)。

          そりゃそうだろ。
          低レベル言語を先にやっていれば、高レベル言語を習得するのが早いのは当たり前、とも言えるし、
          ある言語を習得しておけば、別の言語を習得するのは早いとも言える。

          VBAはもう触りたくない…

          同感。
          MS Officeのプラグインを書くとかじゃなきゃ、もう触らないと思う。

          親コメント
        • by Anonymous Coward

          おお、同じ感想を持った人に出会えた。
          PowerShellでのオブジェクトの扱いは感動ものですよね。
          あと動作がある程度安定してきたあとにC#ベースのツールに書き直すのも楽だし。
          大量のプロパティのどれを使えばいいのかを学ぶまではちょっと大変だと思ってますが、ドキュメントはそれなりに見つかるのでまあなんとか。

          • by Ryo.F (3896) on 2017年10月20日 8時19分 (#3298604) 日記

            PowerShellがよくできてる、ってのには80%くらい賛成するんだけど、疑問なところもあるんだよね。

            たとえば…

            配列をよく使う言語なのに、普通の配列操作が致命的に遅いとか。
            # ArrayList使えばいいけど…

            コマンドラインとパイプラインの両方から受け取る引数の扱いがヘンとか。

            BEGIN - PROCESS - END で書くと、全体を通した finallyが書けないとか。
            # trap構文でなんとかならんのか…
            # と思ったら、Register-EngineEventでできるのか。

            でも、クラスの定義はできるようになった!
            Add-Member でちまちまやらなくて済むようになってよかった。

            親コメント
            • by Anonymous Coward

              どんな言語も得意不得意があるのだからShellだって同じでしょう。
              pythonとかと使い分ければ良いだけ。

              • by Ryo.F (3896) on 2017年10月20日 18時55分 (#3299121) 日記

                どんな言語も得意不得意があるのだからShellだって同じでしょう。

                んー、そーゆー問題じゃないんだよな。
                クラスを定義できなかった問題は、まあ、PowerShellの用途から言って、そういう割り切りもあると思うんだけど、他のはもっと別に方法があっただろう、って思うんだよね。

                親コメント
          • by Anonymous Coward

            本番投入前にはなんだかんだ安定化する必要があるのでPshellはプロトタイピングが済んだら用済み?

            • by Anonymous Coward

              以前あるプロジェクトでは結果的にプロトタイピングになりましたね。
              管理ツールとしてではなくプロジェクト固有のデータコンバータだったのですが
              ・急ぎ必要だったのでまずはPowerShellで書き起こし。
              ・だいたいやるべき事落ち着いてプログラマ以外のメンバーにも配布する段階でC#使ってexe化(.NETは入れないといかんですが)
              ・速度もう少しなんとかならんの?という要望が出た時点でひいこら言いながらC++で書き直し。
              てな感じでした。

          • by Anonymous Coward

            単なる管理用のスクリプトとしてだけでなくプログラム言語としても面白いよね
            やったことない人はぜひやってみて欲しい
            Windowsがあれば開発環境(PowerShell ISE)はすでに用意されているんだし

            • by Anonymous Coward

              PowerShellは、面白いんだけど、セキュリティ関連が安全サイドによってて、面倒だった記憶が。

              デフォルトだと、ローカル実行が許可されてなくて、ローカル実行許可のポリシー設定するか、毎回パラメーターで指定しないとならないってのがあって、手軽に触れない印象がある。

              後、最新版だとできる様になっているかもだけど、psスクリプトをダブルクリックで実行できないのも補助的にしか使わない原因になっているね。自分の場合は。

              • by Ryo.F (3896) on 2017年10月20日 8時26分 (#3298611) 日記

                デフォルトだと、ローカル実行が許可されてなくて、ローカル実行許可のポリシー設定するか、毎回パラメーターで指定しないとならないってのがあって、手軽に触れない印象がある。

                Set-ExecutionPolicyを、コンピュータもしくはユーザ事に一回やればいいだけでしょ?
                あるいは、グループポリシーでできるんじゃなかったっけ?

                まあ、シェルスクリプトと比較して面倒と感じてるかもしれないけど、シェルスクリプトは普通、chmod a+xをスクリプト毎に実行するわけだから、実はPowerShellの方が手間はかからないとも言える。

                psスクリプトをダブルクリックで実行できないのも補助的にしか使わない原因になっているね。自分の場合は。

                どうしても、ってことなら、CMD.exeでラップすれば?

                自分の場合でいえば、スクリプトをダブルクリックで実行するって感覚が、そもそも無いけどね。

                親コメント
              • by Anonymous Coward

                コンテキストメニューから実行できるけど、なぜか気分で?ポリシーで許可されてないとかいう警告をたまに出す困ったちゃんだったりする。

              • by Anonymous Coward

                batファイルからps1ファイル呼び出せば実行できるので、それで対処するとか
                powershell -sta -ExecutionPolicy Unrestricted -File %0\..\powershelltest.ps1 %*

              • by Ryo.F (3896) on 2017年10月20日 8時31分 (#3298613) 日記

                なぜか気分で?ポリシーで許可されてないとかいう警告をたまに出す困ったちゃんだったりする。

                コンテキストメニューから実行することがほとんど無いんで知らないんだけど、それって本当?
                同じマシン・同じユーザでも警告が出たり出なかったりするの?

                Set-ExecutionPolicyを実行してなかったりとか、そのスコープを理解してなかったりするだけではない?

                親コメント
              • by Anonymous Coward

                > シェルスクリプトは普通、chmod a+xをスクリプト毎に実行する
                curlからパイプでbashに流し込んだり、tarballからパーミッションごと取り出して実行したりで、実行する本人は+xしない状況も多いけどね。
                かと思えばバラでパーミッション設定しなきゃいかん所で横着してchmod a+x *とかやる奴も居たり。

              • by Ryo.F (3896) on 2017年10月20日 19時08分 (#3299132) 日記

                curlからパイプでbashに流し込んだり、

                ええと、話がズレてるんじゃない?
                PowerShellのスクリプトファイル *.ps1 は、ダブルクリックで実行できないよね、って話からの流れなので、当然 bash でいえば、bash スクリプトファイルの話をしてるつもりなんだけど。

                親コメント
          • by Anonymous Coward

            PowerShell 触った人は、だいたい同じ感想になるよ。
            同じような感想持たないのは、原理主義で現実が見えないか、元環境のシェルもPowerShellもどちらも理解できてないぐらいまで低能な連中だけ。

            シェルとしての使い勝手だとか構文だとか実行速度が遅すぎて辛いとかは好み(?)はあるにしても、一段階先に進んでるのは否定できないよ。

        • by Anonymous Coward

          パイプでオブジェクトを渡せるのが逆にいや。
          何を流してるか想像できない上に、絶望的に遅い。

          ここで絶賛している人たちって、大量のデータ使ったりしないのかな・・・

          VBScriptの方が圧倒的に早かったし、
          PowerShellで書くくらいならC#で書く。どうしてもコンパイルがいやならPythonかRubyでも使えば?

          • by Ryo.F (3896) on 2017年10月20日 21時42分 (#3299236) 日記

            パイプでオブジェクトを渡せるのが逆にいや。
            何を流してるか想像できない上に、絶望的に遅い。

            想像できないのは、想像力の欠如が問題じゃね?

            それはそれとして、遅いのは事実。
            特に、配列が遅いのは困ったもんなんだよね。
            でも、ArrayListを使うと若干マシになるけど、それを言語レベルでサポートできてないところがダメなんだよなあ。

            ここで絶賛している人たちって、大量のデータ使ったりしないのかな・・・

            ま、大量データを処理する用途に使おうと思うのが間違いなんじゃね?

            どうしてもコンパイルがいやならPythonかRubyでも使えば?

            Rubyはそんなに速くないだろ。
            それに、RubyもPythonも、Windowsに標準で入ってないのが致命的。

            親コメント
            • by Ryo.F (3896) on 2017年10月21日 8時15分 (#3299378) 日記

              加えて、文字列操作も遅いんだった。
              スクリプト言語で文字列操作が遅いのはどうかと思うんだよね。
              StringBuilder を使えばマシって話はあるんだけど、言語レベルでサポートしろよ、って思う。

              親コメント
          • by Anonymous Coward

            パイプでオブジェクトを渡せるのが逆にいや。
            何を流してるか想像できない

            unixのシェルなら何がパイプに流れてるか想像できるとでも?

      • by Anonymous Coward

        PowerShellがそんなに糞なら、天下のGoogleサマがわざわざCloud Tools for PowerShell [google.com]なんてものを作ったりするわけないんだよなぁ

      • by Anonymous Coward

        Windowsを跡形もなく消し去ることができるなら余裕だよな。Windowsが残るからしんどいことになる。

        • by Anonymous Coward

          WindowsでできることがLinuxでも漏れなく全部できるようになれば跡形もなく消し去るのも余裕よ。
          現実にはそうじゃないからしんどいだけで。

    • by Anonymous Coward

      ・エクセルでリスト化した宛先・ファイルを自動でメール送信
       -> CSV出力されたものがあれば、Perlでもなんでもいかように対応可能。

      ・数十のCSVの一部を取り出し、集計・レポート化
       -> これはそうだな。集計対象やレポート目的が動的に変化しないならなんとか。
         Power BI をお勧めする。

      ・仮想マシンの自動デプロイ・初期設定
       -> いかようにも対応可能

      ・全ユーザの特定フォルダの監視
       -> Linuxでストレージを構築する場合はたとえば、NFS/CIFSマウントするならば一元的に監視可能
         それ以外は、各マシンで

      • by Anonymous Coward

        PowerShell一つで美しく・簡単に完結させられるってところが重要なんでしょ。
        可読性の悪い醜いスクリプトやらコマンドやら色々組み合わせれば他の方法でも実現できるのは馬鹿でもわかる。
        いちいち説明は不要。

    • by Anonymous Coward

      PS使えればまだよいのに、バッチファイルをやらなければならない悲しみ
      仕様が複雑怪奇すぎんよ!

人生の大半の問題はスルー力で解決する -- スルー力研究専門家

処理中...