Ankündigung

Einklappen
Keine Ankündigung bisher.

Powershell: Was sind euere Top 5

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Frage: Powershell: Was sind euere Top 5

    Hallo Forum

    Powershell ist wohl bei vielen Admins ein Begriff aber was tut ihr damit ?

    Bitte sagt doch mit ein paar Stichworten was diese Skripts so machen. Ich
    hab mal die Top 5 benannt aber wer mehr hat, darf dies gerne mitteilen.

    In der Hoffnung, dass soetwas wie eine Ideesammlung entsteht, die anderen
    unter Umständen neue Inputs gibt.
    7
    Powershell Skrips (PSS) sind nicht im Einsatz.
    14,29%
    1
    Wir setzten PSS ein. Mein Top 5 siehe unten.
    57,14%
    4
    Wir setzten PSS ein, aber keine Ahnung wofür.
    0,00%
    0
    Ich würde PSS einsetzten weiss jedoch nich wie.
    28,57%
    2
    Powershell Skripte kommen mir nicht ins Haus.
    0,00%
    0

    Die Umfrage ist abgelaufen.

    Zuletzt geändert von Lordicon; 15.09.2014, 09:36.
    rgds Lordicon


    Der einfachste Weg Identitätskrisen zu vermeiden.

    PSS: [Environment]::UserName

    Lordicon [Lord ei-'kän] frei übersetzt "Lord der Ikone"

  • #2
    AW: Powershell: Was sind euere Top 5

    Wir setzen momentan PS für folgende Sachen ein:
    - Logfile rotation
    - Logfile deletion
    - eine Hand voll Hilfsscripts für Exchange (z.B. Adressen auslesen)

    Für andere Sachen haben wir noch VB-Scripts im Einsatz. Diese werden wir ggf. dann mal gegen PS austauschen. Aber solange sie laufen, dann dauert das noch ein Weilchen...

    Kommentar


    • #3
      AW: Powershell: Was sind euere Top 5

      - Inventory-Script (AD-Cmdlets, WMI, export-CSV)
      - ActiveDiretory, Properties für alle oder viele Objekte setzen oder ändern
      - SQL DB auslesen
      - Mails versenden
      - Outlook Kalender für Reiseplanung befüllen
      - Exchange Aufgaben automatisieren
      - SCCM Client verbiegen
      - ACL's im Filesystem auslesen, setzen
      - MS Office Produkte per COM-Interface automatisieren
      - Geburtstagserinnerungen versenden
      - Strings mit RegEx parsen
      - .NET Framwork Klassen nutzen
      - Dell System Info von der Dell Homepage abfragen
      - Scripts parsen mit [System.Management.Automation.PSParser]::Tokenize($text,[ref]$null)

      und vieles mehr.

      Sorry sind mehr als 5 , bin halt ein bisschen Powershell süchtig.

      grz zer00
      Zuletzt geändert von zer00; 15.09.2014, 21:26.

      Kommentar


      • #4
        AW: Powershell: Was sind euere Top 5

        Zitat von Lordicon Beitrag anzeigen
        Hallo Forum

        Powershell ist wohl bei vielen Admins ein Begriff aber was tut ihr damit ?

        Bitte sagt doch mit ein paar Stichworten was diese Skripts so machen. Ich
        hab mal die Top 5 benannt aber wer mehr hat, darf dies gerne mitteilen.

        In der Hoffnung, dass soetwas wie eine Ideesammlung entsteht, die anderen
        unter Umständen neue Inputs gibt.
        Die Ideen kommen mit den Problemen.

        Kommentar


        • #5
          AW: Powershell: Was sind euere Top 5

          Zitat von zer00 Beitrag anzeigen
          - SCCM Client verbiegen
          Was genau verbiegst Du bei den Clients? Oder geht es mehr um's Geradebiegen?

          Kommentar


          • #6
            AW: Powershell: Was sind euere Top 5

            Zitat von zer00 Beitrag anzeigen
            - Mails versenden
            - Outlook Kalender für Reiseplanung befüllen
            - Geburtstagserinnerungen versenden

            grz zer00

            Echt jetzt ??? mit einem PSS ???
            rgds Lordicon


            Der einfachste Weg Identitätskrisen zu vermeiden.

            PSS: [Environment]::UserName

            Lordicon [Lord ei-'kän] frei übersetzt "Lord der Ikone"

            Kommentar


            • #7
              AW: Powershell: Was sind euere Top 5

              Meine Top 5 enstehen gerade

              - Check Diskspace Free via Hostename
              - Restart aller nicht laufenden Prozesse die auf Auto stehen.


              Und vielleicht kann ich mir ja bei Euch noch ein paar Ideen abschauen.
              rgds Lordicon


              Der einfachste Weg Identitätskrisen zu vermeiden.

              PSS: [Environment]::UserName

              Lordicon [Lord ei-'kän] frei übersetzt "Lord der Ikone"

              Kommentar


              • #8
                AW: Powershell: Was sind euere Top 5

                Ich habe mich unter anderem mit PowerCLI für VMware auseinandergesetzt. Damit provisioniere ich unterdessen neue Maschinen.

                Dann nutze ich PS als Inventarskript um einige Dinge zu sammeln losgelöst vom eigentlichen Inventartool (Altiris)

                Und sonst haue ich einfach generell alles mit Powershellskript kaputt was geht. Versuche möglichst viel auf Schwarzen resp blauen Bildschirmen zu erledigen.

                Hatte ich Exchange schon erwähnt?
                Smash your head on keyboard to continue...

                Kommentar


                • #9
                  AW: Powershell: Was sind euere Top 5

                  Zitat von zer00 Beitrag anzeigen
                  Die Ideen kommen mit den Problemen.
                  Und die letzten 5 Probleme, die du mit PS gelöst hast ?

                  rgds Lordicon


                  Der einfachste Weg Identitätskrisen zu vermeiden.

                  PSS: [Environment]::UserName

                  Lordicon [Lord ei-'kän] frei übersetzt "Lord der Ikone"

                  Kommentar


                  • #10
                    AW: Powershell: Was sind euere Top 5

                    Zitat von swizz Beitrag anzeigen
                    Was genau verbiegst Du bei den Clients? Oder geht es mehr um's Geradebiegen?
                    Wir mussten (wollten) mal die Clients den richtigen Sites zuordnen.

                    grz zer00

                    Kommentar


                    • #11
                      AW: Powershell: Was sind euere Top 5

                      Zitat von Lordicon Beitrag anzeigen
                      Und die letzten 5 Probleme, die du mit PS gelöst hast ?

                      Da gibt es vieles.

                      UPN ändern
                      Passwort Ablaufdatum von Usern auslesen

                      etc.

                      grz zer00

                      Kommentar


                      • #12
                        AW: Powershell: Was sind euere Top 5

                        Hier mal als kleines Beispiel das Geburtstagserinnerung Script. Ist schon eine Weile her als ich das geschrieben habe. Würde ich heute wahrscheinlich anders lösen.

                        Code:
                        function SendMail([string] $absender, $empfänger, $subject, $body)
                        {
                            $smtp = New-Object System.Net.Mail.SMTPClient –ArgumentList "mailserver"
                            $smtp.Send($absender, $empfänger, $subject, $body)
                        }    
                        
                        function compare_date([DateTime] $d1, $d2)
                        {
                            $d1 = $d1.AddDays(-2)
                            [int] $tag1 = $d1.day;
                            [int] $mon1 = $d1.month;
                            
                            [int] $tag2 = $d2.day;
                            [int] $mon2 = $d2.month;
                            
                            if(($tag1 -eq $tag2) -and ($mon1 -eq $mon2))
                            {
                                return $true
                            }
                            
                            else 
                            {
                                return $false
                            }
                        
                        }
                        
                        
                        function get_app
                        {
                            $file = "Geburtstagsliste.csv"  
                            #$file = "Birthday1.csv"
                            $logfile = "Log.txt"
                            $filepath ="\\Server\share\PowerShell\Geburtstags_Erinnerung" 
                            
                            
                            $lines = Get-Content $filepath\$file   
                        
                            $heute = Get-Date
                            
                            foreach($l in $lines)
                            {
                                $row = $l.split(";")
                                $name = $row[0]
                                $datum = $row[1]
                                $chef = $row[2]
                                $email = $row[3]
                                $anrede = $row[4]
                                
                                
                                $text = "Guten Tag  $anrede $chef, am $datum hat $name Geburtstag.`nFreundliche Grüsse"
                                
                                $dat = $([datetime]::ParseExact($datum, "dd.MM.yyyy", $null))
                                
                                
                                if(compare_date $dat $heute)
                                {
                                    SendMail "from" $email "Geburtstags Erinnerung" $text 
                                    Add-Content -Path $filepath\$logfile -Value "$(get-date -Format d) Email an $email versendet für $name"
                                }
                                
                            }
                        }
                        
                        
                        # MAIN
                        cls
                        
                        
                        get_app

                        Kommentar


                        • #13
                          AW: Powershell: Was sind euere Top 5

                          Hier noch eins.

                          Was macht das Script?

                          Es werden alle freigegebenen Kalender nach gewissen Einträgen durchsucht und dann in einen Gruppen Kalender kopiert.
                          Somit haben alle Benutzer die Möglichkeit für Geschäftsreisen Fahrgemeinschaften zu bilden.

                          Code:
                          function Get-objCal
                          {
                          
                          Add-Type -AssemblyName Microsoft.Office.Interop.Outlook
                          
                          $class = @”
                          using Microsoft.Office.Interop.Outlook;public class MyOL
                          {
                              public MAPIFolder GetCalendar(string userName)
                              {
                                  Application oOutlook = new Application();
                                  NameSpace oNs = oOutlook.GetNamespace("MAPI");
                                  Recipient oRep = oNs.CreateRecipient(userName);
                                  MAPIFolder calendar = oNs.GetSharedDefaultFolder(oRep, OlDefaultFolders.olFolderCalendar);
                                  return calendar;
                              }
                          }
                          “@
                          
                          Add-Type $class -ReferencedAssemblies Microsoft.Office.Interop.Outlook
                          }
                          
                          
                          function Get-Appointment([String]$user)
                          {
                          $MyOL = $NULL
                          $applist = $NULL
                          $citems = $NULL
                          $cal = $NULL
                          $destCal = $NULL
                          
                          
                          
                          $applist = @();
                          $citems = @();
                          
                          $MyOL = New-Object MyOL
                          $destOL = New-Object MyOL
                          
                          [Microsoft.Office.Interop.Outlook.OlAppointmentCopyOptions]$olACO = "olCreateAppointment"
                          
                          $cal = $MyOL.GetCalendar($user)
                          $destCal = $destOL.GetCalendar("carpool")
                          
                          $citems = $cal.Items
                          
                              foreach($i in $citems)
                              {
                                  if(($i.Location -like "*Ort*") -OR ($i.Location -like "*Langerort*") -AND -NOT ($i.Location -like "MR*Location*")`
                                      -AND -NOT ($i.Subject -like "VC*") -AND -NOT ($i.Location -like "*Raum*")`
                                       -AND ($(Get-date($i.StartinStartTimeZone)) -gt $(Get-Date)))
                                  {
                                      if(-NOT(inlist $i $destcal.items))
                                      {
                                          #write-host "Kopiere Eintrag von User $user" -fore Green
                                          $i.CopyTo($destCal,$olACO)
                                      }
                                       
                                  }       
                              }
                          
                          #Write-Host "Habe $user bearbeitet" -fore Green
                          $MyOL = $Null
                          $destOL = $NUll
                          
                          
                          }
                          
                          
                          function inList($appoint, $destCal) # Testet ob der Eintrag im Kalender Carpool vorhanden ist
                          {
                              foreach($elem in $destCal)
                              {
                                  if(($($elem.Subject).Contains($appoint.Subject)) -AND ($appoint.Start -eq $elem.Start)`
                                       -AND ($appoint.Organizer -eq $elem.Organizer))
                                  {
                                      return $true
                                      break
                                  }
                                 
                              }    
                               
                          }
                          
                          function get-users
                          {
                              
                          $child = @()
                          $reslist = @()
                           
                          $root= [ADSI]"LDAP://ou=users,dc=contoso,dc=com"
                          
                          foreach($i in $root.children)
                          {
                           
                              $child += [ADSI]$i.Path;
                               
                             
                          }
                              foreach($user in $child)
                              {
                                  $reslist += $user.samAccountName
                              }
                              
                              return $reslist
                          }
                          
                          
                          
                          
                          # *** MAIN
                          
                          Add-Content "D:\Appointment_Log.txt" -Value "Starte Script : $(Get-Date)"
                          
                          $srclist = $NULL;
                          
                          $users = get-users
                          
                          get-objcal
                          
                          foreach($user in $users)
                          {
                              get-Appointment($user)
                          }    
                          
                          
                          gps "outlook" | kill -Force
                          
                          Add-Content "D:\Appointment_Log.txt" -Value "Beende Script : $(Get-Date)"

                          Kommentar


                          • #14
                            AW: Powershell: Was sind euere Top 5

                            Zitat von Technocontrol Beitrag anzeigen
                            Ich habe mich unter anderem mit PowerCLI für VMware auseinandergesetzt. Damit provisioniere ich unterdessen neue Maschinen.

                            Dann nutze ich PS als Inventarskript um einige Dinge zu sammeln losgelöst vom eigentlichen Inventartool (Altiris)

                            Und sonst haue ich einfach generell alles mit Powershellskript kaputt was geht. Versuche möglichst viel auf Schwarzen resp blauen Bildschirmen zu erledigen.

                            Hatte ich Exchange schon erwähnt?
                            Oh ja PowerCLI für VMware ist cool.

                            Wir befüllen damit eine SharePoint Liste, so hat man immer eine schöne Übersicht über die VM's.

                            grz zer00

                            Kommentar


                            • #15
                              AW: Powershell: Was sind euere Top 5

                              klingt sehr interessant. Danke.
                              rgds Lordicon


                              Der einfachste Weg Identitätskrisen zu vermeiden.

                              PSS: [Environment]::UserName

                              Lordicon [Lord ei-'kän] frei übersetzt "Lord der Ikone"

                              Kommentar

                              Lädt...
                              X