5

管理者グループ用に、一般的に実行するいくつかの手順を自動化する機能を備えたモジュールを作成しました (リモート マシンへの管理者の追加、C ドライブのクリーンアップなど...)。

これらの機能の前提条件の 1 つは、作業するドメインごとに 1 つずつ、一連​​の 7 つの資格情報を生成することです。

モジュールをインポートするときに実行するスクリプトブロックを取得する方法はありますか、それとも各人のプロファイルに追加する必要がありますか?

コメント投稿者は、それを module.psm1 ファイルに追加するだけでよいと述べましたが、それは機能しませんでした。これが私が実行しようとしているコードです。

$creds = Import-Csv [csvfile]
$key = Get-Content [keyfile]
foreach ($cred in $creds) {
    $user = $cred.User
    $password = $cred.Hash | ConvertTo-SecureString -Key $key
    $i = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList $user,$password
    New-Variable -Name ($cred.Domain + "_Cred") -Value $i -Force
    }

これを手動で実行すると問題なく動作しますが、Import-Module コマンドから実行すると資格情報が作成されません。

4

2 に答える 2

7

モジュールをインポートすると、関数ではないすべてのコードが実行されます。

于 2015-11-23T20:28:27.190 に答える
5

モジュールを操作する際の便利なヒント:ドキュメントに記載さ&.ていない機能を備えている。いずれの場合も、2 つの引数を指定できます。1 つ目はモジュール参照 (get-module などから) で、2 つ目はスクリプトです。モジュール参照パラメーターを使用すると、スクリプトはモジュールのコンテキストで実行されます。たとえば、次のようになります。

& $myMod {$usa_cred} 

$use_credエクスポートされていない場合でも、の値を出力します。これは、スクリプトのデバッグに役立ちます。また、モジュールには組み込みモジュールを含めることができ、& $myMod {gmo}それらのサブモジュールを一覧表示します。ネストする&か、.サブモジュールのコンテキストにアクセスできます。

于 2015-11-23T22:05:06.177 に答える