2015-09-18 59 views
1

我遇到下面編寫的代碼問題。代碼應該做的是獲取預定義用戶列表,然後嘗試針對用戶帳戶測試3個密碼。 (完整的代碼放在下面的答案中)如上所述,我在代碼中不斷收到錯誤。任何人都可以幫我解決這個問題嗎?我總是來這裏尋找答案,因爲你們是最棒的!今天我無法弄清楚這一點。PowerShell - New-Object:找不到接受參數爲'system.object []'的Postional參數

   $cred = New-Object -TypeName System.Management.Automation.PSCredential Argumentlist $account, $entry 
       foreach ($account in $accountfile){ 
        try { 
         get-aduser 「username」 -credential $cred 
         $array += New-Object psobject -property @{'Account'=$account;'Password'=$entry} 
        } 
        catch { Write-Host "There was an issue"} 
       } 
     } 
     $count++#increase counter 
    } 
    $newpass=$newpass[3..$newpass.count] #subtract the first 3 entries from the $newpass array 
    $count= 0 #reset counter to zero 
+0

我看到了一些問題,但只用'New-Object'運行行並沒有給我造成問題。所以,你上面的確切代碼,你會得到錯誤? – Matt

+0

是的,馬特指出我在參數列表中缺少' - '。在我添加完畢後,系統提示我不斷輸入用戶名和密碼,以便用戶從列表中讀取。一旦它完成,它會輸出一個新的錯誤「」New-Object:無法找到「PSCredential」的過載和參數計數:「2」 – Kr0n1kK1ll3r

+1

什麼類型的$ account和$ entry? – PetSerAl

回答

2

您錯過了 - 對ArgumentList。

$cred = New-Object -TypeName System.Management.Automation.PSCredential -Argumentlist $account, $entry 
+0

好的發現,謝謝。我收到了「New-Object:無法找到」PSCredential「的重載並且參數計數爲:」2「 它還要求我爲列表中的每個用戶設置t在我的用戶名和密碼運行。有沒有辦法讓它自動化? – Kr0n1kK1ll3r

+0

'$ secure = ConvertTo-SecureString $條目-AsPlainText -Force' – dstarkowski

相關問題