Direkt zum Hauptbereich

FSRM Beschränkung aufheben


Seit der Einführung von Windows Server 2003 R2 ist es möglich, sich diverse Berichte über die Auslastung eines Fileservers erstellen zu lassen. Leider wird die Freude über das schicke Feature sehr schnell getrübt, denn alle Berichte sind in ihrem Informationsgehalt recht begrenzt. Wenn man sich z.B. alle Dateien von einem bestimmten Besitzer anzeigen lassen will, dann wird mit folgendem Bericht konfrontiert:
Ressourcen-Manager für Dateiserver
Man kann sich also nur die ersten 1000 Dateien für jeden Besitzer anzeigen lassen. Wenn man sich aber für einen einzelnen Benutzer alle Dateien anzeigen lassen will, die er momentan im Besitz hat, dann ist dieses Feature eher  nutzlos. Um trotzdem an diese Informationen zu kommen, war bis jetzt der Einsatz von Skripten oder auch Drittanbietertools notwendig.
Seit Windows Server 2008 ist es möglich, diese Beschränkungen aufzuheben. Allerdings geht das nicht über die grafische Benutzeroberfläche des “Ressourcen-Managers für Dateiserver”, sondern muss aufwendig über Skripting realisiert werden. Um die Sache etwas zu vereinfachen, habe ich das Powershell Skript “set-fsrmstoragereportlimit.ps1” erstellt. Damit können die einzelnen Beschränkungen relativ einfach angepasst werden.
Skript:

##########################################
# Skript konfiguriert die Beschränkungen der FSRM Reports um.
#
# Einsetzbar ab Windows Server 2008
#
# Von
#
##########################################
$values = @{"-maxfiles"=1;"-maxfilegroups"=2;"-maxowners"=3;
"-maxfilesperfilegroup"=4;"-maxfilesperowner"=5;"-maxfilesperduplgroup"=6;
"-maxduplicategroups"=7;"-maxquotas"=8;"-maxfilescreenevents"=9;
"-maxpropertyvalues"=10;"-maxfilesperpropertyvalue"=11}

$int32 = New-Object System.Int32
$fsrm = New-Object -comObject "fsrm.fsrmReportManager"
#prüfe ob Parameter übergeben wurden
if($Args.count%2 -eq 0 -and $Args.count -gt 0)
{
$fsrm.SetReportSizeLimit($values.Item($Args[0]),$Args[1])
}
else{
parameters_alert
}
function parameters_alert(){

Write-host "Falsche Anzahl an Parametern oder ungültiger Parameter! Gültige Parameter sind:" -foregroundcolor red
$values.Keys | ForEach-Object {$_ + [char]9 + "(Erlaubter Wert: 0 bis 9223372036854775807)"}

"Beispiel: set-fsrmstoragelimit.ps1 -maxfiles 50000"
}


Beispiel für Aufruf Parameter:

"C:\Windows\SysWOW64\WindowsPowerShell\v1.0\powershell.exe" set-ExecutionPolicy unrestricted
"C:\Windows\SysWOW64\WindowsPowerShell\v1.0\powershell.exe" C:\Skripts\fsrmstoragelimit.ps1 -maxfiles 1000000
"C:\Windows\SysWOW64\WindowsPowerShell\v1.0\powershell.exe" C:\Skripts\fsrmstoragelimit.ps1 -maxfilegroups 1000
"C:\Windows\SysWOW64\WindowsPowerShell\v1.0\powershell.exe" C:\Skripts\fsrmstoragelimit.ps1 -maxowners 1000
"C:\Windows\SysWOW64\WindowsPowerShell\v1.0\powershell.exe" C:\Skripts\fsrmstoragelimit.ps1 -maxfilesperfilegroup 1000000
"C:\Windows\SysWOW64\WindowsPowerShell\v1.0\powershell.exe" C:\Skripts\fsrmstoragelimit.ps1 -maxfilesperowner 1000000
"C:\Windows\SysWOW64\WindowsPowerShell\v1.0\powershell.exe" C:\Skripts\fsrmstoragelimit.ps1 -maxfilesperduplgroup 1000000
"C:\Windows\SysWOW64\WindowsPowerShell\v1.0\powershell.exe" C:\Skripts\fsrmstoragelimit.ps1 -maxduplicategroups 1000000
"C:\Windows\SysWOW64\WindowsPowerShell\v1.0\powershell.exe" C:\Skripts\fsrmstoragelimit.ps1 -maxquotas 100000
"C:\Windows\SysWOW64\WindowsPowerShell\v1.0\powershell.exe" C:\Skripts\fsrmstoragelimit.ps1 -maxfilescreenevents 100000
"C:\Windows\SysWOW64\WindowsPowerShell\v1.0\powershell.exe" C:\Skripts\fsrmstoragelimit.ps1 -maxpropertyvalues 1000
"C:\Windows\SysWOW64\WindowsPowerShell\v1.0\powershell.exe" C:\Skripts\fsrmstoragelimit.ps1 -maxfilesperpropertyvalue 1000
CD..


Die Standardwerte für die einzelnen Werte sind:
ParameterStandardwert
MaxDuplicateGroups100
MaxFiles1000
MaxFileGroups10
MaxFileScreenEvents1000
MaxFilesPerDuplGroup10
MaxFilesPerFileGroup100
MaxFilesPerOwner100
MaxFilesPerPropertyValue100
MaxOwners10
MaxPropertyValues10
MaxQuotas1000
Hinweis: Das Skript funktioniert nur unter Windows Server 2008 und kann nicht unter Windows Server 2003 R2 eingesetzt werden. Bei Windows Server 2003 R2 sind die Werte der Speicherberichte statisch hinterlegt!

Kommentare

Beliebte Posts aus diesem Blog

Microsoft Office 2013 aktivieren via Kommandozeile

Wie man das neue Microsoft Office 2013 aktiviert via Kommandozeile, das werde ich euch in dem folgenden Beitrag Schritt für Schritt erklären. Gerade in grösseren Systemumgebungen in welchen die Clients und Standard Software automatisiert installiert werden, kann das sehr hilfreich sein und erspart einem viel Arbeit nach der Installation des Clients. Das Ziel sollte sein, möglichst viel zu automatisieren und soweit möglich, wenig noch händisch zu konfigurieren. Da kommt dieser Beitrag sicherlich nicht ungelegen. Die folgenden Befehle könnte man beispielsweise ganz einfach in eine MDT (Microsoft Development Toolkit) Umgebung mit einbeziehen oder auch mit anderer Software benutzen. Wichtig zu wissen ist, dass dies nur dann funktioniert, wenn Microsoft Office 2013 über das Internet aktiviert wird. Hat man einen eigenständigen Aktivierungsserver (KMS), funktioniert dies nicht. Zudem müssen die Befehle alle mit Administrator Rechte ausgeführt werden. Normale Benutzerberechtigungen genügen …

Windows Domain Controller: Es sind momentan keine Anmeldeserver zum Verarbeiten der Anmeldeanforderung verfügbar

Zurzeit häuft sich (warum auch immer) das Problem dass nach einem Neustart eines Windows Domain Controllers bei der Anmeldung die Fehlermeldung „Es sind momentan keine Anmeldeserver zum Verarbeiten der Anmeldeanforderung verfügbar“ kommt und eine Anmeldung so nicht möglich ist Das Problem ist hierbei das der Domain Controller im Active Directory Reperatur Modus (Abgesicherter Modus) startet. Am einfachsten lässt sich dieses Problem folgendermaßen beheben: 1) Anmeldung mit dem DSRM (Directory Services Restore Mode) / Verzeichnisdienstwiederherstellungskennwort Falls die Anmeldung nicht funktioniert kann man einen Workaround wie hier beschrieben durchführen. 2) Systemkonfiguration mittels msconfig.exe aufrufen

WSUS won’t uninstall or re-install

Hat heute ein Problem mit WSUS unter Windows Server 2008 R2 bei einem Kunden. Das Problem - die Clients konnten keinen Verbindung zum WSUS Server herstellen. Die Deinstallation wurde unerwartet beenden mit folgender Fehlermeldung: Attempt to un-install Windows Server Update Services failed with error code 0x80070643. Fatal error during installation  Die Lösung: I don’t like Windows Server Update Services (WSUS), but it’s the free alternative many companies select over the higher cost alternatives like Intune or Systems Center. So, today I had to repair a damaged WSUS installation. Turns out someone uninstalled SQL Server 2005 Express not realizing WSUS was using it. Now firing up the WSUS console just yielded an error complaining about the missing SQL database. So like any good troubleshootin IT guy the first thing I tried was to uninstall WSUS…sadly, however the product would not uninstall or re-install. Here’s how I finally got rid of it: [the problem] WSUS 3.0 SP2 is missing SQL serv…