Kuddel071089 9 Geschrieben 30. November 2018 Melden Teilen Geschrieben 30. November 2018 (bearbeitet) Hallo zusammen, ich habe ein Skript für unseren Verwaltungshost geschrieben, um die Speicherbegrenzung des Homeverzeichnisses eines Anwender zu begrenzen. Man muss nur die neuen Speichergrenze (als Zahl) eingeben. Leider bekomme ich es nicht hin, die GB als Format mitzugeben. Invoke-Command -ComputerName $fileserver -ScriptBlock {Set-FSRMQuota -Path $using:homeverzeichnis -Size $quota+"GB"} Fehlermeldung Neue Speichergrenze eingeben (Beispiel 5 GB): 10 Die Argumenttransformation für den Parameter "Size" kann nicht verarbeitet werden. Der Wert "10+GB" kann nicht in den Typ "System.UInt64" konvertiert werden. Fehler: "Die Eingabezeichenfolge hat das falsche Format." Hat jemand eine Lösung für mich? bearbeitet 30. November 2018 von Kuddel071089 Zitieren Link zu diesem Kommentar
Dukel 454 Geschrieben 30. November 2018 Melden Teilen Geschrieben 30. November 2018 Geht es evtl. mit folgendem? $quota*1GB Zitieren Link zu diesem Kommentar
Kuddel071089 9 Geschrieben 30. November 2018 Autor Melden Teilen Geschrieben 30. November 2018 vor 1 Minute schrieb Dukel: Geht es evtl. mit folgendem? $quota*1GB Leider nein, Fehlermeldung bleibt die gleiche Zitieren Link zu diesem Kommentar
Dukel 454 Geschrieben 30. November 2018 Melden Teilen Geschrieben 30. November 2018 $($quota*1GB) Oder $quotaGB = $quota*1GB [...] -size $quotaGB Zitieren Link zu diesem Kommentar
Kuddel071089 9 Geschrieben 30. November 2018 Autor Melden Teilen Geschrieben 30. November 2018 (bearbeitet) $($quota*1GB) 0x8004530d, Die angegebene Eigenschaft liegt außerhalb des gültigen Bereichs. Wenn ich -size $quotaGB nehme, wird das GB als Teil der Variable und nicht als Format erkannt bearbeitet 30. November 2018 von Kuddel071089 Zitieren Link zu diesem Kommentar
Dukel 454 Geschrieben 30. November 2018 Melden Teilen Geschrieben 30. November 2018 Das soll es ja. Es sind zwei Möglichkeiten. Entweder $(...) -> Wird als eigene Variable definiert. Das andere ist so, dass man erst das Quota umrechnet "-Scriptblock { $quotaGB..." und dann diese Variable nutzt. Invoke-Command -ComputerName $fileserver -ScriptBlock {$QuotaGB = $quota*1GB ; Set-FSRMQuota -Path $using:homeverzeichnis -Size $quotaGB} Zitieren Link zu diesem Kommentar
massaraksch 41 Geschrieben 30. November 2018 Melden Teilen Geschrieben 30. November 2018 (bearbeitet) Hi, dein $quota+"GB" muß in Klammern, ansonsten wird der Ausdruck nicht ausgewertet sondern nur zusammengesetzt. -Size ($quota+"GB") Weiß aber nicht genau, ob der Parameter -Size das dann auch nimmt... weils ein String und keine Zahl ist. Korrektur: Obiges geht wohl nicht, da das Format wahrscheinlich nicht erkannt wird. Also am besten ungefähr so, wie Dukel sagt. Dabei die Berechnung in Klammern: ... -Size ($quota*1gb) bearbeitet 30. November 2018 von massaraksch Zitieren Link zu diesem Kommentar
Kuddel071089 9 Geschrieben 30. November 2018 Autor Melden Teilen Geschrieben 30. November 2018 vor 16 Minuten schrieb massaraksch: Hi, dein $quota+"GB" muß in Klammern, ansonsten wird der Ausdruck nicht ausgewertet sondern nur zusammengesetzt. -Size ($quota+"GB") Weiß aber nicht genau, ob der Parameter -Size das dann auch nimmt... weils ein String und keine Zahl ist. Die Argumenttransformation für den Parameter "Size" kann nicht verarbeitet werden. Der Wert "10GB" kann nicht in den Typ "System.UInt64" konvertiert werden. Fehler: "Die Eingabezeichenfolge hat das falsche Format." Zitieren Link zu diesem Kommentar
massaraksch 41 Geschrieben 30. November 2018 Melden Teilen Geschrieben 30. November 2018 Hatte meinen Beitrag gerade ergänzt... Mein Vorschlag war flasch Zitieren Link zu diesem Kommentar
Kuddel071089 9 Geschrieben 30. November 2018 Autor Melden Teilen Geschrieben 30. November 2018 Set-FSRMQuota -Path $homeverzeichnis -Size ($quota*1gb) Der Wert "2147483648" vom Typ "System.Int64" kann nicht in den Typ "System.Int32" konvertiert werden. Zitieren Link zu diesem Kommentar
Beste Lösung BOfH_666 577 Geschrieben 30. November 2018 Beste Lösung Melden Teilen Geschrieben 30. November 2018 (bearbeitet) Wenn noch keine Quota auf dem Ordner vorhanden ist, muss erstmal eine erstellt werden ... das ist hoffentlich klar ... oder? Bei mir funktioniert es zum Testen so: $TestPath = "OrdnerPfad zum Testen" [INT]$InitialQuota = Read-Host -Prompt "Initial Quota" [UINT64]$InitialQuota = [INT]$InitialQuota * 1GB New-FsrmQuota -Path $TestPath -Size $InitialQuota [INT]$NewQuota = Read-Host -Prompt "Initial Quota" [UINT64]$NewQuota = [INT]$NewQuota * 1GB Set-FSRMQuota -Path $TestPath -Size $NewQuota Remove-FsrmQuota -Path $TestPath -Confirm:$false bearbeitet 30. November 2018 von BOfH_666 Zitieren Link zu diesem Kommentar
Kuddel071089 9 Geschrieben 3. Dezember 2018 Autor Melden Teilen Geschrieben 3. Dezember 2018 Am 30.11.2018 um 16:51 schrieb BOfH_666: Wenn noch keine Quota auf dem Ordner vorhanden ist, muss erstmal eine erstellt werden ... das ist hoffentlich klar ... oder? Bei mir funktioniert es zum Testen so: [INT]$NewQuota = Read-Host -Prompt "Initial Quota" [UINT64]$NewQuota = [INT]$NewQuota * 1GB Set-FSRMQuota -Path $TestPath -Size $NewQuota Damit funktioniert es. Super, vielen Dank Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.