0
我需要連接到另一個域中的服務器。在該服務器上,我連接到3個其他域以查找每個域中的用戶帳戶。invoke-command with double hop
我連接到終端服務器,然後運行'invoke-command'。幾個問題發生:
1st - 我指定我的憑據是什麼,但是當我運行腳本時,它會提示輸入憑據。
2日 - 我得到一個錯誤,指出的InvokeMethod是空
這裏的腳本:
PARAM (
[Parameter(ValueFromPipeline)]
$FullName
)
###Creds###
$Password = Read-Host -AsSecureString "Enter Your Password"
$apcred = New-Object System.Management.Automation.PSCredential
("server\username",$Password)
### Double Hop ###
$Session = New-PSSession -Name RDP -ComputerName Server.com -Credential
($apcred)
Enable-WSManCredSSP -Role Client -DelegateComputer server.com -Force
Invoke-Command -Session $session -ScriptBlock {Enable-WSManCredSSP -Role
Server -Force}
Invoke-Command -Session $session -ScriptBlock {
$rrs = Get-ADUser -Filter * -Server server2.com -Credential ($apcred)
$rrsusers = ($rrs | Where-Object{$_.name -eq $Name})
這是錯誤我得到:
You cannot call a method on a null-valued expression.
+ CategoryInfo : InvalidOperation: (:) [], RuntimeException
+ FullyQualifiedErrorId : InvokeMethodOnNull
所以我已經嘗試了在另一個問題中指定的兩個方法(從本地範圍傳遞變量到遠程)。 param方法不起作用 - 它仍然促使我輸入用戶名/密碼 - 並給出了相同的錯誤: 您無法在空值表達式上調用方法。 + CategoryInfo:InvalidOperation:(:) [],RuntimeException + FullyQualifiedErrorId:InvokeMethodOnNull |但是,當我使用$使用:它沒有提示我輸入密碼...但它仍然給出了錯誤 - 空值表達式。有任何想法嗎? –