Jump to content

mamamia

Members
  • Gesamte Inhalte

    312
  • Registriert seit

  • Letzter Besuch

Alle erstellten Inhalte von mamamia

  1. Regex ist dein Freund $var1 = [string]"Testprojekt!-1§k*477/4" $var1=$var1 -replace('[\ \!&,\-\.\?\§\/\*]','_') $var1
  2. Okay. Man müsste halt wissen, wann lastlogon aktualisiert wird. Ich habe gerade mal ein paar Server angeschaut, bei manchen stehen da auch Daten drin, die != 10 Tage sind.
  3. Du könntest ja auch einfach deinen Zeitraum größer wählen. 9 Tage sind ja nicht gerade lange. $COMPAREDATE = GET-DATE $NumberDays = 90 GET-QADCOMPUTER -SizeLimit 0 -IncludedProperties LastLogonTimeStamp | where { ($CompareDate-$_.LastLogonTimeStamp).Days -gt $NumberDays } | Select-Object Name, LastLogonTimeStamp, OSName, ParentContainerDN | Sort-Object ModificationDate, Name Müsstest deine Filter noch einbringen. Hier gibt es noch Infos zum lastlogontimestamp: http://msdn.microsoft.com/en-us/library/windows/desktop/ms676824%28v=vs.85%29.aspx Gilt zwar für User, wird beim Computer aber nicht anders sein.
  4. Habt ihr mehrere DC´s? Ist da vllt die Objekt-Repli noch nicht gelaufen?
  5. Genau, dass hätte ich jetzt auch gesagt. Get-ADComputer und Get-VM sind da deine Freunde.
  6. Was willst du da remote auslesen, wenn ich fragen darf? Was ist, wenn die Maschine nicht läuft?
  7. Wenn du uns verrätst wie du zwischen virtueller und physikalischer Maschine unterscheidest, dann ja ;) Unterschiede im Namen oder ähnliches.
  8. Gibt in der Regel 2 Möglichkeiten: einmal durch das GuestOS den reboot iniitieren durch die VM Tools des Herstellers den Reboot iniitieren Aber dazu brauchen wir mehr Infos ;)
  9. Wie wäre sowas: opabackup --restore --version 10 --path "C:\rücksicherung_%computername%.opa" Achtung, nicht getestet.
  10. Oder mit TreeSize kannst du dir die auch ansehen und leeren.
  11. Die ActiveRoles kann ich dir wärmstens ans Herz legen, die schließen einige Lücken! Bei mir laufen die auch auf einem System, von dem aus halt alles initiiert wird.
  12. Hallo, gibt es eigentlich Prüfungen / Zertifizierungen direkt zum Thema Powershell? Finde da nichts so richtig. Oder ist das immer an eine Server / Client Prüfung gekoppelt? Danke für eure Hilfe!
  13. Hi Flo, benötigst du noch Hilfe zu deinem Problem?
  14. Stimmt, hast recht. Get-ADGroupMember liefert keine Kontakte zurückGet-QADGroupMember (Quest.ActiveRoles.ADManagement) allerdings schon.Kannst du die auf dem ausführenden System nachinstallieren?
  15. Hallo Thomas, was hast du denn bisher erstellt? Mit Powershell ist das ein "Einzeiler"
  16. Was passiert denn bei einem sehr kurzen Befehl? Select TOP 10 from Table Da ist ja quasi kein Zeilenumbruch möglich!?
  17. Hast du mal Get-ADObject probiert? Kannst du Quest.ActiveRoles.ADManagement nachinstallieren?
  18. Aber ist die Verteilergruppe nicht auch als AD Gruppe vorhanden? Dann könnte man doch die relativ einfach abfragen.
  19. Wie ist der Fehler(code)? Beliebte Frage, geht auch Powershell ;)
  20. ? {$_.SideIndicator -eq "=>"} Führe das mal ohne aus. Dann siehst du bei der Ausgabe, warum ich hier nochmal filtere.
  21. Das war doch sogar von mir, oder :) Geht relativ easy. Add-type -assembly "Microsoft.Office.Interop.Outlook" | out-null $olFolders = "Microsoft.Office.Interop.Outlook.olDefaultFolders" -as [type] $outlook = new-object -comobject outlook.application $namespace = $outlook.GetNameSpace("MAPI") Instanz Erzeugen $namespace.Folders Damit bekommst du die Liste aller Postfäche / Öffentlichen Ordnern / etc $mailbox = $namespace.GetFolderFromID(($namespace.Folders | ? {$_.FolderPath -like "*DeinOrdner*"}).EntryID) Damit hastn. Den Rest findest du selber raus ;) Ansonsten kann ich dir nen Lehrgang in München ans Herz legen :D
  22. Also grundsätzlich benötigst du das @ nicht. $arr = @() definiert ein Objekt vom Typ Array. $arr.getType() IsPublic IsSerial Name BaseType -------- -------- ---- -------- True True Object[] System.Array In dem Fall ist das aber eh die Standarddefinition, von daher geht auch Problemlos: $MembersA = (Get-ADGroupMember $GroupNameA) | Foreach{$_.SamAccountName} $MembersB = (Get-ADGroupMember $GroupNameB) | Foreach{$_.SamAccountName} $Members2Add = $MembersA | Where {$MembersB -NotContains $_} Add-ADGroupMember $GroupNameB -Members $Members2Add HIer Infos zum Typ Array: http://ss64.com/ps/syntax-arrays.html Ich möchte aber noch eine andere Möglichkeit vorstellen, die meiner Meinung nach eleganter ist. Um das Delta aus den 2 Gruppen zu definieren würde ich folgendes machen: (Compare-Object -ReferenceObject (Get-ADGroupMember $GroupNameA) -DifferenceObject (Get-ADGroupMember $GroupNameB) | ? {$_.SideIndicator -eq "=>"}).InputObject http://technet.microsoft.com/de-de/library/ee156812.aspx Mit compare-object kannst du diese 2 Gruppen vergleichen und dir exakt ausgeben lassen, welche User in welcher Gruppe sind und welche nicht. Diese verarbeitest du dann einfach weiter: Add-ADGroupMember $GroupNameB -Members (Compare-Object -ReferenceObject (Get-ADGroupMember $GroupNameA) -DifferenceObject (Get-ADGroupMember $GroupNameB) | ? {$_.SideIndicator -eq "=>"}) Ist eigentlich ein Einzeiler, ich steh auf Einzeiler ;) Falls du was nicht verstehst, einfach Fragen ;)
  23. Ich habe hier das Sapien Powershell Studio 2012 am Start. Das kann alles was du forderst. Zudem erstelle ich damit GUI´s für die Scripte.
×
×
  • Neu erstellen...