Ich versuche, Replikation in RavenDB mit PowerShell DSC einzurichten, aber ich bekomme diesen Fehler in TestScript
Skriptblock, wenn ich versuche, die Konfiguration zu kompilieren:"Fehler beim Formatieren der Zeichenfolge" beim Verwenden der Variablen aus Zeichenfolge ersetzen in PowerShell DSC
PSDesiredStateConfiguration \ Node: Fehler beim Formatieren einer Zeichenfolge: Die Eingabezeichenfolge hatte kein richtiges Format.
Hier ist meine Skript:
TestScript = {
$result = Invoke-WebRequest -Method GET "http://localhost:8080/Databases/Test/Docs/Raven/Replication/Destinations" -UseBasicParsing
$ravenSlaves = "{0}".Split(",")
foreach($ravenSlave in $ravenSlaves)
{
if($result -notmatch $ravenSlave)
{
return $false
}
}
return $true
} -f ($Node.RavenSlaves)
Und RavenSlaves
wie ein String in meiner Configuration für die Knoten wie folgt definiert ist: scheint
@{
NodeName = "localhost"
WebApplication = "test"
Role = "Master server"
RavenSlaves = "server1,server2"
}
Das Problem beim Anschluss an I benutze die foreach
um über die $ravenSlaves
Variable zu iterieren, denn wenn ich die foreach
(und die if
) entferne die foreach
) die Konfiguration kompiliert und die MOF-Datei erstellt.
dies - "{0}". Split (",") benötigt den Operator -f-Format – Kiran
@Kiran, ja? Habe ich das nicht getan? Wenn Sie sich den Skriptblock anschauen, den ich in der Frage angegeben habe, habe ich am Ende des Skripts "-f ($ Node.RavenSlaves)" angegeben. Ist das nicht richtig? – user2731951
ok habe den dsc-Teil der Frage nicht gesehen .... die Skript-Ressource in dsc ist eine Zeichenkette und erlaubt es, Werte zu verwenden, die außerhalb des $ using-Modifikators definiert sind. Vielleicht müssen Sie also Ihre Hashtabelle in die Testressource als $ using importieren : myhashtable dann tun Sie die Spaltung auf der Rabenklave Schlüssel – Kiran