2008/04/01

ある方に聞かれたんですが、あるps1ファイルに定義された関数をあるps1ファイルから呼ぶ、すなわちインクルードするには、ドットソースでいいのでは?と答えたんですが、ちゃんと動作確認してみました。

test.ps1

. .\funcs.ps1
. .\funcs2.ps1
test1
test2 "a"

funcs1.ps1

function test1{"test1"}

funcs2.ps1

function test2{param($a);return($a)}

実行

PS >.\test.ps1
test1
a

こんな感じ。グローバルに関数が漏れることもありません。

あとスクリプトコードも配布したかったんですが、微妙に紙に打ち出すのは「?」だったのでそのうちオンラインで配布します。4/11以降であれば問題ないので中さんよろしくです。

ACLのコードが動かなかったのは管理者権限で動かしてなかったからでしたー何たる初歩的なミス。

スクリプトのネタくださった方ありがとうございます。またなんかネタあったらご連絡ください。

元記事:http://blogs.wankuma.com/mutaguchi/archive/2008/04/01/130845.aspx

2007/05/30

Windows PowerShell: Active Directory を操作する -- TechNet Magazine, June 2007
http://www.microsoft.com/technet/technetmag/issues/2007/06/PowerShell/default.aspx?loc=jp/

今月号はADSIの話です。ただしPowerShellでADSIを扱うととにかく動作が変です。この記事でもいろいろ言い訳されてますがwここで取り上げられた記事のサンプルコードもたぶん実際には動作確認してないと思います。「友からの手助け」という段落はVBScriptからコンバートしたコードが載っていますがこれは嘘があります。&演算子はPowerShellにはないです。

ADSIはまだまだWSHで動かすのが吉だと個人的には思います。

元記事:http://blogs.wankuma.com/mutaguchi/archive/2007/05/30/78858.aspx


Copyright © 2005-2018 Daisuke Mutaguchi All rights reserved
mailto: mutaguchi at roy.hi-ho.ne.jp
プライバシーポリシー

Books

Twitter