2013-08-09 54 views
12

Ich hoffe, Sie können mir bei einem Problem helfen, einen Skriptblock mit alternativen Anmeldeinformationen auf einem lokalen Computer auszuführen. Ich habe gründlich wurde in Foren gesucht und einige googeln tun und fand zwei mögliche Vorgehensweise, mein Problem zu lösen:Powershell "Parametersatz kann nicht mit den angegebenen benannten Parametern aufgelöst werden"

  1. Verwenden Invoke-Command
  2. Verwenden Start-Job

Mit Ansatz # 1 I hatte diesen Code:

$res = Invoke-Command -Credential $migratorCreds -ScriptBlock {param($one, $two) Get-LocalUsers -parentNodeXML $one -migratorUser $two } -ArgumentList $xmlPRE,$migratorCreds 

wo Get-LocalUsers eine benutzerdefinierte Funktion in einem benutzerdefinierten Modul (* .psm1) gespeichert ist.

Mein Problem ist, dass jedes Mal, wenn ich diesen Code ausführen ich Fehler erhalten folgende:

Parameter set cannot be resolved using the specified named parameters

So ist es offensichtlich, dass ich etwas fehlen müssen, könnten Sie mir zu diesem Thema helfen?

Vielen Dank im Voraus ...

Antwort

20

Der Fehler ist, weil -credential ohne -computername nicht existieren kann.

Sie auf diese Weise versuchen:

Invoke-Command -Credential $migratorCreds -ScriptBlock ${function:Get-LocalUsers} -ArgumentList $xmlPRE,$migratorCreds -computername YOURCOMPUTERNAME 
+0

Danke für Ihre Hilfe. Es funktionierte perfekt, obwohl ich ein anderes Problem mit WinRM habe, aber ich werde versuchen, es selbst zu lösen, bevor ich frage;) – SantiFdezMunoz

+0

@SantiFdezMunoz Gut zu helfen! –

+0

können Sie localhost anstelle von IHREM COMPUTERNAME für die Wiederverwendbarkeit verwenden. – rob

1

ziemlich neu in Powershell verwenden, denke ich im Stande sein könnte zu helfen. Könnten Sie das versuchen?

Ich glaube, Sie sind nicht die richtigen Parameter zu Ihrem Skriptblock bekommen:

param([string]$one, [string]$two) 
$res = Invoke-Command -Credential $migratorCreds -ScriptBlock {Get-LocalUsers -parentNodeXML $args[0] -migratorUser $args[1] } -ArgumentList $xmlPRE, $migratorCreds 
+1

Dank @bootleboot für Ihre Antwort, aber actualy @ C.B. Ansatz löste mein Problem. Es hatte mit "-Computer" -Parameter zu tun. Wie auch immer, danke für die Antwort – SantiFdezMunoz

+0

np! glücklich zu helfen :) – bottleboot

Verwandte Themen