Jump to content

B_inside

Members
  • Gesamte Inhalte

    15
  • Registriert seit

  • Letzter Besuch

Profile Fields

  • Member Title
    Newbie

Fortschritt von B_inside

Explorer

Explorer (4/14)

  • Erste Antwort
  • Engagiert
  • Erster eigener Beitrag
  • Eine Woche dabei
  • Einen Monat dabei

Neueste Abzeichen

10

Reputation in der Community

  1. FULL ACK. Ok dann mach ich mich mal dran. Hatte nur gehofft, jemand kennt sich schon aus damit. Verfolge die Entwicklung von Powershellpraxis.de schon länger und dachte wenn du schon excel und access durchschaut hast, kann word ja net der rede wert sein. :D danke für die links, ich guck mal, ob(wann) ich da durchkomme. Grüße
  2. Danke für deine Hilfe, das sieht schon ganz gut aus, allerdings ist das nicht ganz, was ich suche. Mit $Bullet = [char]8226 $Eingabe.TypeText($bullet) krieg ich zwar das bullet, allerdings als char wie auch ein buchstabe einer ist und nicht als aufzählung. mit dem makro bekomme ich folgendes: #Liste erstellen Selection.Range.ListFormat.ApplyListTemplateWithLevel ListTemplate:= _ ListGalleries(wdBulletGallery).ListTemplates(1), ContinuePreviousList:= _ False, ApplyTo:=wdListApplyToWholeList, DefaultListBehavior:= _ wdWord10ListBehavior # erste liste beschreiben Selection.TypeText Text:="ad" # mit typeparagraph wird ein "enter" ausgeführt, in der liste ist das natürlich ein neuer listenpunkt Selection.TypeParagraph #zweite liste beschreiben Selection.TypeText Text:="as" # dritten listenpunkt erstellen Selection.TypeParagraph # liste abbrechen, damit verschwindet der dritte listenpunkt wieder und die liste ist beendet Selection.Range.ListFormat.RemoveNumbers NumberType:=wdNumberParagraph leider hab ich keinen plan, wie ich den "liste erstellen"-wust in powershell übertrage. :-/ Gruß B_out
  3. Ich erstelle Word-Dokumente mit Hilfe von PowerShell.In einem Word-Dokument sollen auch Aufzählungszeichen (Bullets) eingefügt werden. Kann mir jemand sagen, wie ich diese einfüge? Ich verwende Microsoft Word 2007 und PowerShell v2.0. Eventuell kennt auch jemand eine Seite, in der weitere Wort-Formatierungen per PowerShell beschrieben sind? $Word = New-object -comobject Word.Application $Word.Caption = "Test" $Word.Visble = $True $Dokument = $Word.Documents.Add() $Eingabe = $Word.Selection $Eingabe.Font.Size = "16" $Eingabe.ParagraphFormat.Alignment = 1 $Eingabe.Font.Bold = $True $Eingabe.TypeText("Überschrift") $Eingabe.Font.Bold = $False $Eingabe.TypeParagraph() $Eingabe.ParagraphFormat.Alignment = 0 #Hier 3 Aufzählungszeichen einfügen. $Dokument.SaveAs("C:\Script\Test.doc") $Dokument.Close() $Word.Quit() Grüße B_out
  4. Hallo zusammen, ich habe ein Script in Powershell geschrieben, dass von einem XP SP3 Rechner aus ausgeführt werden soll. Das Script greift ansonsten auch aufs AD und auf verschiedene andere Sachen im Netzwerk zu. Allerdings habe ich gelesen, dass man, um ein Script auszuführen, dass auf Exchange 2007 zugreifen soll, auch den Exchange Server (oder zumindest einiges Teile davon) auf dem Client-Rechner installieren muss, was nicht in meinem Interesse ist. Gibt es eventuell einen Weg ein Script per Remoting auf dem Exchange Server auszuführen? Der User soll so wenig wie möglich Rechte bekommen und trotzdem soll das Script alle seine Funktionen ausschöpfen. Kann mir jemand helfen? Grüße B_out
  5. Vielen Dank ZeroKnowledge. Hat genauso funktioniert. hier der gesamte Code dafür. =) $newrights = [system.Security.AccessControl.FileSystemRights]”FullControl” $InheritanceFlag = [system.Security.AccessControl.InheritanceFlags]::ContainerInherit -bor [system.Security.AccessControl.InheritanceFlags]::ObjectInherit $PropagationFlag = [system.Security.AccessControl.PropagationFlags]::None $Typ =[system.Security.AccessControl.AccessControlType]::Allow $ID = new-object System.Security.Principal.NTAccount(“Contoso\Administrator”) $SecRule = new-object System.Security.AccessControl.FileSystemAccessRule($ID, $newrights, $InheritanceFlag, $PropagationFlag, $Typ) $myACL = get-acl “.\c1-prepare.ps1“ $myACL.AddAccessRule($SecRule) Set-ACL “.\c1-prepare.ps1t“ $myACL
  6. So ich habe mal versucht, den Code so weit wie möglich zu zeigen, damit mir eventuell noch geholfen werden kann: $newrights = [system.Security.AccessControl.FileSystemRights]”FullControl” $InheritanceFlag = [system.Security.AccessControl.InheritanceFlags]::None $PropagationFlag = [system.Security.AccessControl.PropagationFlags]::None $Typ =[system.Security.AccessControl.AccessControlType]::Allow $ID = new-object System.Security.Principal.NTAccount(“Contoso\Administrator”) $SecRule = new-object System.Security.AccessControl.FileSystemAccessRule($ID, $newrights, $InheritanceFlag, $PropagationFlag, $Typ) $myACL = get-acl “.\c1-prepare.ps1“ $myACL.AddAccessRule($SecRule) Set-ACL “.\c1-prepare.ps1t“ $myACL In der 2. Zeile möchte ich sowohl "ContainerInherit" als auch "ObjectInherit" übergeben. Weiteres auch in der MSDN-Library - DotNetFramework. Hier auch noch der Link zu den PDFs, die blub damals erwähnte: http://blogs.technet.com/b/chitpro-de/archive/2008/02/28/kostenloser-windows-powershell-workshop-serveradministration.aspx
  7. Hallo, ich habe einen 3 Jahre alten Thread gefunden mit dessen Hilfe ich ein Script zur Erstellung von ACLs erstellen konnte. In diesem Scipt gibt es unter anderem die Zeile $InheritanceFlag = [system.Security.AccessControl.InheritanceFlags]::[b]None[/b] Ich möchte statt diesem None aber gern die beiden anderen möglichen InheritanceFlags ContainerInherit und ObjectInherit setzen. Kann mir jemand sagen, wie ich hier 2 Attribute übergebe? Alles Gute B_out
  8. hmm ich hatte es auch mit psbase probiert^^ es hat nicht geklappt. ich weiß wirklich nicht, woran es lag. danke dir, dass du dir die zeit genommen hast. gibts eigentlich irgendwo ne referenz, was den unterschied zwischen 1.0 und 2.0 ausmacht? ich konnte sowas noch nicht wirklich finden und allgemein scheint powershell recht stiefmüttterlich dokumentiert zu sein.
  9. Hallo blub, vielen Dank für deine Hilfe, der Distinguished Name hat vorher scheinbar auch schon funktioniert. Also auch mit Semikola. Ich habe aber inzwischen herausgefunden, dass derjenige, der den Server aufgesetzt hat, leider nur Powershell 1.0 aufgespielt hat. Da wir hier sogar auf allen XP-Rechnern 2.0 haben, bin ich davon ausgegangen, dass auch hier 2.0 liegt. Mit Update auf 2.0 funktioniert das ganze auch. Trotzdem vielen Dank für euren Einsatz. Ich habe inzwischen auch deine Website angesehen und bin sehr beeindruckt, blub. Bleibt mir noch viel zu lernen. Ich hoffe ich darf euch noch mehr Fragen stellen, wenn sich mir welche ergeben. MfG /B_out
  10. Habs angehängt. Leider hatte die Datei 400 Zeichen zuviel um sie einfach hier zu posten.^^ ADExchangeUserScriptpublic.txt
  11. Hallo blub, ich habe deine Lösung ausprobiert und komme leider zu dem selben unzureichenden Ergebnis. Immernoch die Exception calling "InvokeSet" with "2" arguments. Ich verstehe nicht, warum das nicht geht. Und noch was: Wenn ich das Script ausführe und dann die Fehlermeldung bekomme, sollten ja die Variablen, die ich unterwegs genutzt habe noch gefüllt sein, oder? Sie geben mir aber allesamt nichts zurück. Auch das kann ich mir nicht erklären. Kann das miteinander im Zusammenhang stehen? Vielen Dank, dass ihr versucht, mir zu helfen. =) MfG /B_out
  12. Das hieße dann, dass invokeset funktioniert und er nur ein problem mit dem datum hat? das datumsformat von accountexpires ist largeinteger, das von $AEDatum ist ja eher n selbst erstelltes. d.h. ich muss dann mein eigenes format in largeinteger umwandeln. das war schon mal sehr hilfreich =) EDIT: ich habe unter PowerShellCommunity.org einen Dreizeiler gefunden, der mir das Format konvertiert. $DateIn = "2010/04/17" $ExpireDate = [datetime]::Parse($DateIn,[system.Globalization.CultureInfo]::InvariantCulture) $ExpireDate = $ExpireDate.ToFileTime()[/Code] mit $ExpireDate bekommt man dann den LargeInteger-Wert vom 17.04.2010: "129159288000000000" wenn ich diesen dann an $User.InvokeSet("AccountExpirationDate",$ExpireDate) weitergebe bekomme ich trotzdem die Exception. Scheint also doch nicht (nur) am Format zu liegen. =( EDIT2: Ich hab den dreizeiler jetz noch mal auf nem Windows Server 2008 R2 mit Active Directory Module probiert. Er kennt InvokeSet nicht. There is no such object on the server. Ich weiß nicht, was ich falsch gemacht habe, aber InvokeSet scheint ihm hier zu missfallen.
  13. Hallo Nils, danke für deine Antworten. Ich habs gerade mal geändert und bekomme nun die Fehlermeldung New-Object : Exception calling ".ctor" with "1" argument(s): "The value provided für adsObject does not implement IADs." + $ds = New-Object <<<< directoryservices.directoryentry ($User)[/Code] Den Teil habe ich gelöst bekommen in dem ich die vorletzte Zeile einfach gelöscht habe. [Code]Exception calling "InvokeSet" with "2" argument(s): "Unknown name. (Exception from HRESULT: 0x80020006 (DISP_E_UNKNOWNNAME))" + $User.InvokeSet( <<<< "AccountExpirationDate",$AEDatum) Die Exception scheint einfach mit InvokeSet nichts anfangen zu können, seh ich das richtig? MfG /B_out
  14. Wenn das gewünscht ist gerne. Soll ja Foren geben, in denen externe Links nicht gern gesehen sind. PowershellEveryDay Dort der 2. Kasten. Das einzige, was ich meiner Meinung nach anders mache, ist das erhalten des Datums, aber wenn dort der Fehler läge, würde ich eine andere Fehlermeldung erhalten oder? MfG /B_out
  15. Hallo, ich erstelle ein Script, dass die Erstellung eines Users für AD + Exchange weitestgehend automatisiert. Zu den Features soll unter anderem gehören, dass man das Auslaufen eines Accounts bestimmen können soll. Dazu habe ich bisher folgendes gefertigt: $Datum = read-host 'Wann soll der Account auslaufen? (Format: DD.MM.YYYY)' $AETag = $Datum.split(".")[0] $AEMonat = $Datum.split(".")[1] $AEJahr = $Datum.split(".")[2] $AEDatum = get-date -year $AEJahr -month $AEMonat -day $AETag -hour 0 -minute 0 -second 0 $User = [ADSI]"LDAP://CN=$Name,OU=$Ort,DC=domain,DC=de" $ds = New-Object directoryservices.directorysearcher($User) $ds.InvokeSet("AccountExpirationDate",$AEDatum) Leider gibt er für die letzte Zeile den Fehler Method invocation failed because [system.DirectoryServices.DirectorySearcher] doesn't contain a method named 'InvokeSet'. Die letzten beiden Zeilen sind nicht von mir, sondern aus einem Blog, bei dem das scheinbar ganz gut geklappt hat. Kann mir jemand sagen, wo mein Denkfehler ist? MfG /B_out
×
×
  • Neu erstellen...