呼び出しコマンドの関数内で関数を呼び出したいと思っています。私はこれを適切に行っていないようです。「get-group_users」が認識されないというエラーが表示されます。すべてが 1 つの ps1 スクリプトに含まれています。
切り捨てられたスクリプト:
function get-session {
$session = New-PSSession -ComputerName $ip -Credential $cred -Auth CredSSP
$ComputerName = $cred.Replace('\Admin',"")
$csv = "C:\Scripts\Serverlists\" + $ComputerName + ".txt"
$subcomps = import-csv $csv | foreach-object {$_.Name}
foreach ($ComputerName in $subcomps)
{
$ComputerName
$xmlWriter.WriteStartElement("Computer",$ComputerName)
Invoke-Command -Session $session -ScriptBlock { (get-groups_users -ComputerName $ComputerName) } -ArgumentList $ComputerName
$xmlWriter.WriteEndElement()
}
Remove-PSSession -ComputerName $ip
}
$ip = '172.16.24.11'
$ComputerName = "COMP1"
$user = '\Admin'
$cred = $ComputerName + $user
(get-groups_users -ComputerName $ComputerName)
(get-session -Credential $cred -ComputerName $ip)
だから、私はget-groups_users
関数を除外しています。誰かがそれがすべてを説明するのに役立つと思うなら、私はそれを投稿できます. それは長いものです。また、私は$xmlwriter
定義を省略しています。
get-groups_users
COMP1で実行すると機能しますが、サブコンプPSSession
のinvoke-commandで入力して使用すると、認識されません。
私は何を忘れていますか?