タグ: Powershell

  • Powershellがコード“-65536”を返す

    Windows Server 2008 R2環境で、Powershellをリモート実行している。この環境で、稀にPowershellがリターンコード“-65536”を返して、異常終了する。

    状況としては、リモート実行先のPowershellでスクリプトが動作しその動作で落ちるのではなく、そもそもリモート先でPowershellのスクリプトが実行されていない状態。呼び出し(起動)に失敗したときに、コード“-65536”が返されている。

    Powershellのコード“-65536”は、リモート実行先でPowershellの起動に失敗した際に返されるエラーコード。

    もし、必ずこのコードが返ってくる場合は、Windowsサーバで、Powershellのリモート実行が許可されていない可能性がある。また、64bit環境の場合は、32bitと64bitの両方にPowershellが入っていて、起動するPowershellのパスが間違っているなど。64bit実行なのに、32bitのPowershellが呼び出されているなど。

    ■参考?
    http://www.windows-noob.com/forums/index.php?/topic/4052-trouble-running-powershell-as-advertisement/

  • xyzzy でPowerShellを書くときに便利なPowerShell-Mode

    Powershell用のModeのモードがあった。

    じゃわてぃーのxyzzy的な何か:http://kazy111.info/xyzzy/

    使い方は、ダウンロードしたファイルを解凍して、xyzzyのフォルダのetcとsite-lispにそれぞれ解凍したファイルを保存する。
    あとは、、、xyzzyを起動するときにpowershellmodeが読み込まれた。
    いろいろとやっているうちに読み込まれたので、、、なんとも書けない。

    実際に使ってみると、
    変数の部分やコマンドレットの部分の色を変えてくれるので便利。
    WindowsについているPowerShellの開発環境でもいいのだけど、
    スクリプトを読んだり、簡単な変更をするだけなら、
    使い慣れたテキストエディタの方が好きだ。

  • Powershellにエイリアスを追加する方法

    WindowsのPowershellを使っていると、間違えてlsとかpwdとか叩いてしまう。これらは、最初からPowershellの内部で対応するコマンドにエイリアスが切られているので 問題なく実行できる。

    でも、どうせならCUIから簡単にxyzzyを起動したい。ついでに間違えてemacsと入力したときにxyzzyを起動させたい。プログラムにパスが通っていれば、エイリアスで指定しなくても起動するがめんどくさいのでAliasに登録する。

    ■エイリアスの登録方法

    Set-Alias  エイリアス  コマンド
    

    xyzzyをエイリアスに登録する場合は以下。(xyzzyは、Cドライブ直下のbinに保存)ついでに、emacsでxyzzyが起動させるようにする。

    Set-Alias xyzzy 'C:\bin\xyzzy\xyzzy.exe'
    Set-Alias emacs xyzzy
    

    これで、xyzzy ファイル名 とか叩けば、そのファイルがxyzzyで開くようになる。簡単に起動できるので便利。

    だが、ここまでだとPowershellを終了させると消えてしまう。AliasをExportしてImportするか、起動時にプロファイルを読み込ませる方法がある。ちょっと調べてみたが、プロファイルを読み込ませるのはめんどくさそう。

    ■現在のエイリアスの確認方法

    Aliasと入力する。

    ■エイリアスの削除方法

    エイリアスの削除もコマンドから行うが、Remove-Itemという汎用的なコマンドから行う。(Remove-Itemはファイルやフォルダ、オブジェクトの削除に使うコマンド)

    Remove-Item Alias:エイリアス
    

    先に追加したemacsのエイリアスを削除するコマンド

    Remove-Item Alias:emacs
    

    この要領で便利なエイリアスを作ったり削除できる。