0

2 つの列を持つスプレッドシートを循環するスクリプトを作成しました。私が直面している問題は、実行時にローカル変数が機能しないことinvoke-commandです。パラメータを追加しました-ArgumentListが、引数に関するエラーが引き続き発生し$nullます。ここで私が間違っていることを知っている人はいますか?

foreach ($list in (Import-Csv C:\Users\joerod\Desktop\remove_users.csv)) {
    Write-Output "Connecting to $($list.computer)..."
    $myses = New-PSSession -ComputerName $list.computer
    Invoke-Command -Session $myses -ScriptBlock {
        Write-Output "Searching for software..."
        Write-Output $list.user

        $find_java = gwmi Win32_Product -Filter "Name LIKE '%Java'" | select -ExpandProperty IdentifyingNumber
        if ($find_java -ne $null) {
            Write-Output "Software found... Uninstalling..."
            foreach ($i in $find_mktx) {
                msiexec.exe /x $i /qn /passive /l*v! c:\uninst.log 
            }
            Write-Output "Adding $($list.user) to security group"
            $group = "CN=Java_removed,OU=Groups,OU=Resources,DC=Contoso,DC=LOCAL"
            Add-ADGroupMember $group -Identity $list.user
        }
        else {
            Write-Output "Could not find Java software installed"
        } 
    } -ArgumentList $list
}    
4

1 に答える 1