Jump to content

blob

Members
  • Gesamte Inhalte

    399
  • Registriert seit

  • Letzter Besuch

Alle erstellten Inhalte von blob

  1. Merciiii, hat einwandfrei geklappt! :-) Nur was raus kommt ist nicht so wirklich Excel fähig, muss ich wohl per Hand formatieren... mir ist jetzt dabei etwas aufgefallen: Die Postfacher, die auf Ex2003 liegen werden (logischerweise) nicht mit ausgewertet bzw. aufgelistet. Die 2003er User kann ich filtern, so das ich eine Liste nur mit 2003er Usern habe. Hat jemand eine Idee wie ich das bei Ex2003 mit einem Skript rausbekommen kann (also Postfachgröße und Name der Datenbank wo das Postfach liegt)? Ich komme mit VBS recht gut zurecht. Also brauche keine fertigen Skripts aber einen Denkanstoß damit es in die richtige Richtung geht... Thx
  2. Hallo, ich bin leider noch nicht so fit in PS. Kann mir jemand helfen? Ich habe eine Liste mit vielen AD Accounts. Ein txt file, die Werte sind durch Zeilenumbruch getrennt und sieht ungefähr so aus: domain\mustermann domain\musterfrau domain\meinhund . . ... Jetzt will ich diesen PS ausführen für jeden User in der Liste: Get-Mailbox domain\mustermann | Get-MailboxStatistics | fl displayname,databasename,totalitemsize So, wie muss ich den Befehl umbauen damit die liste.txt einbezogen wird und jedes Ergebnis in eine neue Datei (csv oder txt) geschrieben wird? Grüße, blob
  3. Mittlerweile gelöst - Schuld war ein DC an einem kleinen Standort, der Ordner war noch vorhanden und konnte ein Script warum auch immer nicht raus löschen - Ordner auf dem DC entfernt, Replikationen abgewartet und nun ist alles wieder sauber. Gruß
  4. Hallo Zusammen, ich habe derzeit ein komisches Verhalten meiner DCs. Und zwar ich habe ein Ordner in \\domain\netlogon welcher TEST heisst. Und dann habe ich einen DC (PDC) der an Standort A steht, und einen weiteren DC am Standort B. Was ist passiert? Ein Admin hat aus versehen den Ordner TEST auf dem DC am Standort B gelöscht - Damit wir nicht umständlich wiederherstellen müssen habe ich den Ordner schnell am Standort A gesichert, gewartet bis die Replikation durch war und den Ordner wieder eingesetzt. Das Problem: Immer nach dem nächsten Replikationsintervall wird der Ordner TEST in der Domäne auf fast allen DCs umbenannt in TEST_NTFRS_0fa6c064; die Replikationsintervalle sind manuell eingestellt zw. 15 bis 60 min. Ich habe den Ordner am Abend umbenannt und bis Heute früh gewartet, wieder wurde der Name geändert. Kennt jemand das Verhalten und kennt Lösungsansätze oder Workarounds? Eventlog ist soweit sauber. Es wurden keine Änderungen an den DCs durchgeführt. Das Problem tritt auch nur bei diesem Ordner auf.
  5. Ein fertiges Script will ich auch nicht, hab ich das etwa verlangt? Ich habe fortgeschrittene Kentnisse in VB Scripting. Ich benutze VB Scripting sehr oft, um z.B. Attribute wie Adresse, Gruppenzugehörigkeiten etc. aus dem AD auszulesen und mir das dann formatiert in einer TXT oder XLS auszugeben. PS habe ich Grundkentnisse bzw. kenne PS halt durch Exchange 2007, aber gescriptet habe ich damit noch nicht. Ich weiss nur das ich PS mit VBS nicht vergleichen kann wenn es um die Formatierung geht. Egal das ist ein anderes Thema. Aber wenn niemand hier eine leise Idee davon hat wie man das mit VBS lösen könnte (ausser das AD wieder abfragen und schauen wer auf welchem ExchangeHomeServer ist etc. => Nachteil ist das ich dadurch alle Accounts in der Domäne abfragen muss) dann wird es auch nicht möglich sein und ich muss mir jetzt mal PS Buch bestellen. Danke trotzdem!
  6. Hallo zusammen, wie die Überschrift bereits sagt: Ich habe einen Exchange Server 2007 mit einem Mailbox Store welcher einen bestimmten Namen hat. Für Verrechnungszwecke will ich mit einem Script die User der Postfächer mir auflisten, um anschließend mit den Daten z.B. weitere Attribute aus dem AD zu ziehen. Das ganze in VBS; ist das auf direktem Wege möglich mittels VBS? Klar wenn ich mir per PS eine Liste generiere und diese dann mit VBS weiter bearbeite, wird es auch funktionieren. Aber ich würde es gerne in einem Script, also in einem "Rutsch" lösen. Danke im voraus!
  7. Habe es geschafft, durch probieren funktioniert jetzt folgende Lösung: [...] Set xlAPP = CreateObject("Excel.Application") Set xlBook = xlAPP.Workbooks.Add Set xlSheet = xlBook.Worksheets(1) With xlAPP.ActiveSheet.Cells(1,1) .Value = "Datum" .Font.Italic = True .Font.Name = "Arial" .Font.Size = 10 .Font.Bold=True .columnWidth = 20 .MergeCells = True End With xlAPP.Range("A:A").Select xlAPP.Selection.NumberFormat = "m/d/yyyy" [...] Ich Danke für die Aufmerksamkeit! :-)
  8. Hallo allerseits, ich möchte meine gefüllten Variabeln von VBS in Excel ausgeben. Klappt auch ganz gut, nur habe ich nun das Problem dass er mir einer Spalte die Werte nicht richtig anzeigt weil die Formatierung auf Standard lag bevor ich das Feld gefüllt habe, es soll aber Datum sein. Habe schon mehrere Varianten ausprobiert, aber die Spalte wird einfach nicht umformatiert :-( [...] Set xlAPP = CreateObject("Excel.Application") Set xlBook = xlAPP.Workbooks.Add Set xlSheet = xlBook.Worksheets(1) With xlAPP.ActiveSheet.Cells(1,1) .Value = "Datum" .Font.Italic = True .Font.Name = "Arial" .Font.Size = 10 .Font.Bold=True .columnWidth = 12 .MergeCells = True End With 'Hier möchte ich das Format umstellen With xlAPP.ActiveSheet.columns("A:A").select .selection.numberFormat = "m/d/yyyy" End With 'Die Zelle wird befüllt xlAPP.ActiveSheet.Cells(1,1).Value = "29.10.2012" Kann mir jemand weiterhelfen?
  9. Hatte ich, nur kam bei mir in der Summe irgendwie immer 0 raus, aber ich hab den Fehler gefunden und die richtige Query gebastelt. Funktioniert also, danke für die Hilfe! :-) SELECT Buchungskreis AS BK, Kostenstelle AS Kst, SUM(Betrag) AS SummeBetrag FROM Personal_Gesamt GROUP BY Buchungskreis, Kostenstelle; Mit BK, Kst und SummeBetrag kann ich nun supi weiter in VBScript arbeiten.
  10. Super Seite, dankeschön! Kann man noch was lernen ;-) Aber ich steige noch nicht hinter. Mit SUM bekomme ich das Ergebnis, aber ich weiss nicht wie ich das jetzt verpacken soll. Ich komme auch im Kopf jetzt nicht zusammen, wie ich Group by und SUM kompinieren könnte.
  11. Hallo zusammen, habe ein SQL Problem. Bin leider in SQL nicht so fit, daher bitte nicht schlagen :o) Also ich habe eine Tabelle mit folgenden Spalten und ein paar Beispielwerten: Buchungskreis Kostenstelle Betrag in Euro 1234 9999 3,5 1234 9999 1,5 3333 5555 1,8 1234 9999 5,15 3333 5555 1,9 Jetzt soll die Abfrage folgendes Ergebnis liefern: Er soll den Betrag zusammen rechnen und ausgeben wo der Buchungskreis UND Kostenstelle gleich sind. Hier wäre das gewünschte Ergebnis aus meinem Beispiel: Buchungskreis Kostenstelle Gesamtbetrag in Euro 1234 9999 10,15 3333 5555 3,7 Die Anzahl der Treffer von Buchungskreis UND Kostenstelle interessiert mich nicht. Mit dem SQL String gebe ich mir das Ergebnis in eine Text Datei aus. Das zu bauen ist kein Problem, nur eben die Abfrage die über einfache Befehle hinaus gehen... sprich sowas wie SELECT * FROM... bekomme ich grad so hin =) *help*
  12. Nichts zu sehen, die Mail sieht genauso aus als wenn ich die Weiterleitungsregel verwende. Die Mail wird gekennzeichnet mit "Diese Nachricht wurde automatisch weitergeleitet. Die unnötigen Zeilenumbrüche des Nachrichtentextes wurden automatisch entfernt" Also wie gesagt, ich habe die "Umleitung"-Regel aktiv, nicht die "Weiterleitung"-Regel! Habe auch komplett neue Postfächer auf 2007 und 2003 erstellt und die Regeln in verschiedenen Variationen erstellt - immer das gleiche Ergebnis. Das einzigste, was noch geht: Man kann die Original-Mail ja als Anhang weiterleiten, muss man eben in der weitergeleiteten Mail den Anhang aufmachen und dort ist dann die Message im Original. Eine Abteilung hat sich nun eben an das Feature gewöhnt. So konnten sie immer sehen, an wen die Mail hauptsächlich ging (Weil die das kontrollieren müssen an wen die ging). :-(
  13. Hallo Zusammen, ich habe ein Problem mit der Umleitungsregel in Outlook. Wir haben hier eine Exchange 2003/2007 Mischumgebung. Seit dem 4 Januar stelle ich folgendes fest: Herr Guru möchte eine Mail an Frau Palm schicken. Fr. Palm setzt er in das An-Feld: palm@mydomain.de Herr Guru möchte aber das Labor in Berlin ebenfalls mit dieser Mail informieren, daher setzt er sie auf CC: labor@mydomain2.de Also haben wir eine Mail mit Inhalt und folgenden relevanten Infos: An: palm@mydomain.de CC: labor@mydomain2.de Die Mail geht jetzt in das Postfach von labor@mydomain2.de (die Mail an palm@mydomain.de interessiert hier nicht); dort ist aber eine Regel erstellt worden, die folgendes besagt: Alles mit "test" im Betreff umleiten an "archiv" und dann löschen Die Mail kommt bei der Labor Adresse an, wird dann umgeleitet and das Postfach Archiv. Ich habe das Archiv Postfach verbunden und schaue mir die umgeleitete Mail an, und sehe das der Header unverändert ist: An: palm@mydomain.de CC: labor@mydomain2.de Aber seit dem 4 Januar sehe ich, das der Header geändert wird! Als würde die Mail nicht umgeleitet, sondern weitergeleitet werden! Ich sehe nun folgendes: An: archiv@mydomain2.de CC: Weiss jemand warum und wieso? Was kann das sein? Regeln wurden nie angefasst, es wurden keine Exchange Patche eingespielt. Weiss jemand Rat?
  14. Super, danke für die Antworten! Konnte es leider noch nicht testen aber ich lasse es euch wissen ;-) Merci!
  15. Hallo allerseits, ich möchte ein Script schreiben welches mir aus einer TXT Datei die dort eingetragenen Zeiten ausliest und dann am Schluss addiert. Die TXT auslesen, keine Problem. In der TXT stehen die Zeiten folgendermaßen drin (Format leider nicht änderbar, kommt aus einem Log): 00:00 (Minuten, Sekunden) Beispiel: 00:30 00:25 00:15 soll logischerweise ergeben: 01:10 und nicht 00:70 ! Die ganzen Minuten ergeben auch dann irgendwann Stunden, dass muss er auch berücksichtigen! Wie könnte ich das mit VBS am schlausten lösen? Mit Zeiten habe ich noch nicht gearbeitet... Sicher könnte ich auch Excel verwenden doch das Ganze soll mit einem Doppelklick mir mit einem Popup auf dem Desktop dargestellt werden, ohne das ich Excel öffnen muss, Daten importieren und dann das Makro starten muss etc. Sinn der Sache: Habe ein Log von einem Faxserver und möchte ab und an mal sehen, wieviele Minuten im Monat so verfaxt werden :-) Wie im Topic zu lesen, arbeite ich gerne mit VBS. Und es muss keine Endlösung sein, Lösungsansätze helfen mir auch weiter, bin kein totaler Neuling ;-) Danke im voraus! Gruß blob
  16. Wenn ich natürlich hunderte Ordner habe, möchte ich in Excel nicht noch an der Formatierung arbeiten. Sprich er generiert mir ein Textfile, wo die erste Zeile mit dem Ordnernamen gefüllt wird, dann eine Leerzeile, dann untereinander die einzelnen Berechtigungen... da kann ich in Excel schlecht nach Namen sortieren. Ich möchte einfach beim Import einer Textfile (oder öffnen des CSV Files) anhand von Tabs oder Kommas oder Leerzeichen oder oder oder gleich die richtigen Spalten füllen, wie z.B.: Ordnerpfad Owner Berechtigte Recht1 Recht2 Recht3 .... Wie oben im ersten Post schon angegeben: \\server\folder1\ DOMAIN\Administrators DOMAIN\Administrator FullAccess \\server\folder1\ DOMAIN\Administrators DOMAIN\SYSTEM FullAccess \\server\folder1\ DOMAIN\Administrators DOMAIN\Mustermann Read&Execute \\server\folder1\Sub1 DOMAIN\Musterfrau DOMAIN\Administrator FullAccess \\server\folder1\Sub1 DOMAIN\Musterfrau DOMAIN\SYSTEM FullAccess \\server\folder1\Sub1 DOMAIN\Musterfrau DOMAIN\Musterfrau FullAccess Also es muss nicht haargenau so aussehen, aber für eine Excel typische Formatierung sollte schon existieren, damit man filtern und ordnen kann.
  17. Nein, klappt leider auch nicht, immer wenn Namen (von Usern oder Pfade etc.) "zu lang" sind, beginnt er mit einer neuen Zeile und dann kommt in der CSV nur ****sinn raus. Habe jetzt auch mal im export-csv und out-file rumexperementiert, aber ich bekomme keine Ausgabe in eine Datei die brauchbar wäre. Kann man in PS die Ausgabe in eine Datei nicht besser steuern, wie es z.B. mit VBS möglich ist? :-(
  18. Wow, super, danke, klappt eins a! Was mich jetzt noch stört ist das Format der Ausgabe. Sorry habe vergessen zu erwähnen dass ich das TXT File dann in Excel importieren möchte. Gibts bei PS eine Möglichkeit die Ausgabe zu formatieren? So oder ähnlich meinem Beispiel im ersten Post?
  19. Hallo zusammen, kenne mich leider in PS noch nicht so gut aus. Hat evtl. jmd ein Script, dass folgendes erledigt: - Ich gebe in dem Script einen Ordner im Netzwerk an (z.B. \\erver\pfad\) - Ab diesen Ordner sollen bis zu 3 Ebenen die Ordnernamen ausgelesen und in eine Text Datei gespeichert werden - Zusätzlich soll dann in dieser Textdatei zu dem Ordnernamen die ACL ausgelesen werden, also die Folder Permissions, nicht die Share Permissions. z.B. soll es so in der TXT stehen (kein Muss): \\server\folder1\ DOMAIN\Administrator \\server\folder1\ DOMAIN\SYSTEM \\server\folder1\ DOMAIN\Mustermann \\server\folder1\Sub1 DOMAIN\Administrator \\server\folder1\Sub1 DOMAIN\SYSTEM \\server\folder1\Sub1 DOMAIN\Musterfrau Habe in der MS Script Gallery leider nichts gefunden :-( Kann mir wer helfen? Grüße
  20. Warum ich die Gruppen von "Member of" eines bestimmten Users auslesen möchte? Ist das nicht egal? Aber bitte: Ich habe das Skript auf dem Desktop liegen und wenn ein User mit seinen Problemchen anruft, gebe ich so schnell seinen Benutzernamen ein und erhalte auf dem Desktop eine CSV Datei mit den Gruppen, die bei ihm unter "Member of" zu finden sind. Da viele Berechtigungen über Gruppen gesteuert werden, kann ich dort für mein Aufgabengebiet den Fehler schnell erkennen. Ansonsten muss ich mich erst auf den Server verbinden, AD U&C aufrufen, den User suchen, anklicken etc... also eine Arbeitserleichterung. Und wie gesagt es funktioniert jetzt, meine Frage ist nur an die Profis ob es an meinem Script Code etwas zu optimieren gäbe. Danke für den Link, stöber ich dann mal durch.
  21. Ist doch ganz easy, wenn man das Script ausführt was ich gepostet habe, dann wird man aufgefordert einen Usernamen einzugeben. Dieser sollte natürlich im AD vorhanden sein. Dann wird der User ermittelt und die Einträge unter "Member Of" in eine TXT Datei geschrieben. Das Script funktioniert, aber ich habe das Gefühl das das nicht die ideale Lösung (siehe Code) sein kann. Daher meine Frage, was man verbessern/optimieren könnte. Denn mit meinem Script bin ich schon an die Grenze gestoßen: Was ist, wenn ich von den Gruppen, die ich unter "Member Of" auslese noch zustäzlich die dazugehörige eMail Adresse oder sontige AD Attribute ermitteln möchte? Dann müsste ich erneut einen großen Teil coden, was evtl. mit einem Zweizeiler erledigt wäre.
  22. Okay, habe es hinbekommen, aber auf eine unschöne Variante. Ich kann jetzt von einem User die Gruppen, denen der User angehört, auslesen und in eine TXT Datei schreiben. Danke @NilsK, dein Script hat mir viel weitergeholfen. Hier mein Code (ich bitte um Verbesserungsvorschläge): strUsername = InputBox("Geben Sie den Usernamen (z.B. mustermann-dieter) ein.", "+++ User auslesen +++") Set objRoot = GetObject("LDAP://rootDSE") strDomainName = objRoot.Get("DefaultNamingContext") strSQL = "SELECT adspath FROM 'LDAP://" & strDomainName & "' WHERE SAMAccountName='" & strUsername & "'" Set objConnect = CreateObject("ADODB.Connection") objConnect.Provider = "ADsDSOObject" objConnect.Open "Active Directory Provider" Set objCommand = CreateObject("ADODB.Command") objCommand.ActiveConnection = objConnect objCommand.CommandText = strSQL 'Query ausführen, User finden Set objRS = objCommand.Execute On Error Resume Next 'Unschön, aber es funktioniert. Evtl kann man das anderst schreiben? For Each objekt In objRS.Fields strUser = objekt.value Next On Error Goto 0 'Falls kein Wert vrohanden ist If strUser = "" Then MsgBox "User nicht gefunden! Das Script bricht nun ab." WScript.quit End If 'Die Suche war erfolgreich, ADSPath wird jetzt verwendet um User zu holen Set strfinalUser = GetObject("" & strUser & "") For Each strMember In strfinalUser.memberof strMember2 = InStr(strMember, ",") strMember3 = Left(strMember, strMember2 - 1) strMember4 = InStr(strMember3, "=") strMember5 = Mid(strMember3, strMember4 + 1, strMember2) strOutput = output & strMember5 & vbNewLine strLog = "C:\MemberOf-LOG.txt" Set objX = CreateObject("Scripting.FileSystemObject") Set objLog = objX.OpenTextFile(strLog,8,True,TristateUseDefault) objLog.Write strOutput objLog.Close Next MsgBox "Fertig!" WScript.quit Wie gesagt ich glaube das geht kürzer udn schöner, aber es funktioniert! =)
  23. @Cybquest: Muss ich auf meiner XP Maschine noch irgendwas installieren ausser PS 1.0? Weil er meckert das er den Typ "System.Windows.Forms.Formform" nicht kennt/finden kann. Eine HTML Applikation wäre toll, weil ich da grafisch die Elemente anpassen kann. Wie schütze ich ich z.B. ein PS Script oder ein .hta, so dass niemand den Code einsehen kann?
  24. Super, danke NilsK, werde nacher mal versuchen was testweise zu bauen um zu sehen ob ich ANR verstanden/einsetzen kann. Nur wie lese ich dann von dem User die Einträge unter "Member of" aus? Z.b. wenn ich eine AD Gruppe als Objekt habe, lese ich die Members einfach mit einer Schleife aus: For Each user In obJGroup.Members ... Hier gibt es aber kein "Member of", oder? Zumindest hat es mal nicht funktioniert.
  25. @Dukel: Ja ist natürlich auch möglich, aber ich will eine elegantere Lösung. @NilsK: Danke für den Tipp, das wird die "Notlösung" sein, aber da fummelt mir wer (andere Admins) nur wieder am Quellcode rum :-]
×
×
  • Neu erstellen...