Jump to content

mamamia

Members
  • Gesamte Inhalte

    312
  • Registriert seit

  • Letzter Besuch

Alle erstellten Inhalte von mamamia

  1. Ist das dein ernst? Geht man so mit Usern um, die eine Frage stellen?
  2. Weil es Write-Zip nicht kann. Sonst hätte ich das schon so eingekippt ÜBERSICHT PSCX Cmdlet: Create ZIP format archive files from pipline or parameter input. SYNTAX Write-Zip [-LiteralPath] <String[]> [[-OutputPath] <String>] [-Append] [-FlattenPaths] [-IncludeEmptyDirectories] [-Level <Nullable`1>] [-NoClobber] [-Quiet] [<CommonPar ameters>] Write-Zip -InputObject <PSObject> [[-EntryPathRoot] <String>] [-Append] [-FlattenPaths] [-IncludeEmptyDirectories] [-Level <Nullable`1>] [-NoClobber] [-Quiet] [<CommonPa rameters>] Write-Zip [-Path] <String[]> [-Append] [-FlattenPaths] [-IncludeEmptyDirectories] [-Level <Nullable`1>] [-NoClobber] [-Quiet] [<CommonParameters>] Es gibt zwar in Blogs wie hier 8 bits: Create ZIP archives with PowerShell, den Befehl -removeOriginal, der scheint aber nicht mehr verfügbar zu sein.
  3. Auf die schnelle fällt mir das ein: dir "C:\tmp\zip\" -Recurse -Include "*.txt" -OutVariable files | Write-Zip -OutputPath "C:\tmp\zip\files.zip" remove-item $files Ich wüsste grad nicht, wie man das noch pipen könnte.
  4. Moin, ich kann dir dazu die PowerShell Community Extensions ans Herz legen. Dort gibt es Write-Zip Write-Zip -OutputPath "C:\tmp\zip\files.zip" -Path "C:\tmp\zip\*" Bei diesem Aufruf werden alle Files unter C:\tmp\zip in das Archiv C:\tmp\zip\files.zip geschrieben. Gucks dir mal na. Ansonsten hast du einen kleinen Denkfehler in deinem Syntax. Du rufst zu jedem File den Prozess auf, daher bekommst du x-Archive raus. dir "C:\tmp\zip\" -Recurse -Include "*.txt" | Write-Zip -OutputPath "C:\tmp\zip\files.zip" So könnte es auch gehen, du kannst halt an C:\Programme\7-Zip\7zG.exe a -tzip keine Objekte oder eine FileList übergeben.
  5. Hier mal kurz hingeschmiert: $file1 = Get-Content -Path "C:\tmp\compare_1.TXT" $file2 = Get-Content -Path "C:\tmp\compare_2.TXT" for ($i = 0; $i -lt $file1.Count; $i++ ) { if ($a = $file2[$i].Replace($file1[$i],"")) { $a | Add-Content "C:\tmp\ergebnis.TXT" } } compare_1.TXT 12345 1 123 123 compare_2.TXT 123456789 1 12345 1234 Da ist aber sicherlich nicht alles abgefangen. Nur ein Ansatz.
  6. Ja, dass ist klar, die Übergabe mehrerer Parameter ist hier optional.. Trotzdem wird es so sein, das intern mit [] gearbeitet wird.. Herr Dukel :cool:
  7. Ein Bug würde ich es nicht nennen. Get-Acl erwartet ja den Typ System.String[]. Das wird das Problem sein, die Übergabe mehrerer Parameter.
  8. Naja, sowas macht ja keiner :D:D:D
  9. So etwas in der Art habe ich auch laufen, aber ein bisschen anders. So wie ich das hier sehe, führst du das Script lokal auf deinen Maschinen aus, oder startest du das zentral von einer Instanz und sammelst dir die Werte zusammen? Was ich mitbekommen habe bei Get-TSSession ist, dass diese manchmal einen NULL wert zurück gibt, wenn der Server gut am schaffen ist. Zudem würde ich dir noch folgendes Raten: Setze in der where-Klausel die Bedingungen in Klammern: $count = (Get-TSSession | where { ($_.UserName -notlike "XXX*") -and ($_.UserName -notlike "YYY*") -and ($_.State -eq "Active")}).count; Dient zur besseren Übersicht und du kannst sicher gehen, dass auch alles so ausgeführt wird, wie du das willst. Was das bedeutet, verstehe ich nicht: ($freespace["FreeSpace"]/1024/1024).toString().Replace(".",",") Wenn du den Freespace lesbar formatieren willst, dann so: "{0:n} GB" -f ($freespace.FreeSpace/1024/1024/1024) Das Semikolon kannst du weglassen, dass wird bei PS nicht zwingend (überhaupt nicht) benötigt.
  10. Es gibt ein Powershell Modul für die DHCP Verwaltung (PowerShell Module for DHCP) Das hier: Export DHCP leases to html using powershell « The Admin Guy’s Blog könnte auch noch was für dich sein!
  11. Ich habe jetzt kein VB Runtime hier, kann es also nicht testen. Aber warum erstellst du erst ein leeres Benutzerobjekt, um es dann zu füllen? Hier steckt vermutlich der Fehler: ' Filterobjekt erstellen, und zuweisen. Dim Filter As New PrincipalSearcher() Filter.QueryFilter = User Du weist hier dem Filter ein leeres Objekt zu, guck dir mal beim LDAP Syntax die Filterfunktion an. Weiter unten willst du aus dem User-Objekt deine Werte auslesen, du weist aber nirgens dem User-Objekt das Result-Set zu. Alles in allem ein bisschen durcheinander. Andere Frage. Muss es VB sein, oder könntest du auch mit was anderem leben?
  12. Kein Thema, dafür sind wir da ;)
  13. Kommt denn das Problem nur auf 2008er Servern?
  14. Okay, Mischumgebung. Du kannst ja sicherlich auch Powershellscripte vom Nagios starten?! Probier mal bitte: Get-ItemProperty -Path "hklm:\software\Microsoft\Windows\CurrentVersion\WindowsUpdate\Auto Update\" | Select -ExpandProperty AUOptions Damit bekommst du den Wert raus. Das ganze in ein Script packen und aufrufen. Kommst du damit weiter?
  15. Warum willst du eigentlich wissen, ob deine Computer vom WSUS verwaltet werden? Wenn es da Maschinen gibt, die das nicht tun, obwohl das per GPO so sein sollte, dann musst du eh wo anders nach einem Grund suchen!
  16. Ich hab es mir jetzt nochmal angeschaut. Das Problem ist, dass $quota.QuotaLimit nur ganze Zahlen entgegen nimmt. Mann könnte jetzt also die GB Werte in ganzheitliche Zahlen umwandeln, sowie Dukel das schon angesprochen hat. Das sieht dann so aus: $quota.QuotaLimit = "{0:0}" -f ($tmp[1]/1024) Ich hatte ja Import-CSV angesprochen, daher hier mal das ganze Script, so wie ich das schreiben würde: Import-Csv -Path "C:\tmp\Größer2GB.TXT" -header "Name","Wert" -Delimiter ";" | % { $quota = $fqtm.GetQuota($_.Name) $quota.QuotaLimit = "{0:0}" -f ($_.Wert/1024) $quota.Commit() }
  17. Ich denke, dass es auf jeden Fall an den Berechtigungen liegt. Wie funktioniert das ganze? Ruft der Nagios Server das Script auf, oder macht das die Maschine selber? Schwenk auf jeden Fall auf PS, ist wesentlich einfacher. Gut wäre zu wissen, wie nach wo euere Systeme tun!
  18. Mal was anderes. Mit Import-Csv kannst du diese Datei wesentlich einfacher einlesen und die Spalten stehen dir dann als Objekte zur Verfügung. Das andere Problem geht auch einfacher zu lösen, muss jetzt leider weg und hb Mittwoch erst wieder Zeit. Vllt guck ich dann nochmal rein.
  19. Was für Systeme sollen denn hier getrackt werden?
  20. Naja er möchte benachrichtigt werden, wenn ein Angriffsversuch stattfindet. Man müsste also die PS als Task laufen lassen und das ständig. Zudem wissen wir nicht, um wie viele Server / Clients es sich handelt. Es fehlen ein bisschen die Informationen. Daher meine Tendenz!
  21. Aaaaaaalso, in welchem Event steht denn der nicht erfolgreiche Anmeldeversuch? Löschen würde ich die Events nicht, eher Archivieren, falls du noch was gucken musst wie willst du die Events gruppieren, welche Events gehören zusammen zu einem Anmeldeversuch? Alles in allem ist die PS hier nicht die richtige Lösung.
  22. Tut das auch ohne IGEL Clients und wie ist der vergleich zu Splitview? Haben Splitview im Einsatz und sind damit sehr zufrieden.
  23. Kannst du relativ schnell mit powershell machen. Wie kommst du denn auf die Rechner drauf? Habt ihr da unterschiedliche Anmeldecredentials? Die Daten stehen alle in der Registry unter HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate Da musst du die entsprechenden Werte nur auslesen und deuten.
  24. Am besten mit Powershell. Du ließt erst die Mitgleider der Gruppe aus und lässt dir dann zu den Mitgliedern die benötigten Infos geben. Das Quest Module (PowerShell Commands (CMDLETs) for Active Directory by Quest Software) kann hier eine große hilfe sein!
×
×
  • Neu erstellen...