Jump to content

Kuddel071089

Members
  • Gesamte Inhalte

    559
  • Registriert seit

  • Letzter Besuch

Alle erstellten Inhalte von Kuddel071089

  1. Halle zusammen, ich habe ein Skript erstellt, um virtuelle Server auszurollen. Am ende werden alle wichtigen Infos der neuen VM in eine *.txt geschrieben und dann als Mail verschickt. Die TXT-Datei selber sieht korrekt aus, nur der Mail Body nicht. So sieht das ganze aus im Skript aus: $mailbody = "C:\testbody.txt" "Servername: $servername" | Out-File -FilePath $mailbody -Append "Funktion: $funktion" | Out-File -FilePath $mailbody -Append "IP: $ip" | Out-File -FilePath $mailbody -Append $body= Get-Content C:\testbody.txt Send-MailMessage -SmtpServer $smtpserver -to $Mailempfaenger -from "VNTS400@xxxx.de" -Subject "+++ $servername - $funktion erfolgreich ausgerollt +++" -Body $body In der TXT sieht es so aus: "Servername: Server1 "Funktion: Test-Server "IP: 192.168.1.8 Nach dem Versand der Mail sieht der Body so aus: "Servername: Server1 "Funktion: Test-Server "IP: 192.168.1.8 Leider wird die Formatierung irgendwie nicht umgesetzt. in der TXT selber wurden Leerzeichen verwendet, um die Daten besser lesen zu können. Kennt jemand dieses Problem oder kann mir einen Tipp geben, wie ich einen vernünftigen Mailbody erstellen kann? Vielen Dank schon einmal
  2. super, das wars. ich war irretiert, weil ohne das | FL der Wert Entity nicht angezigt wurde
  3. $role hat komischerweise keine EIgenschaften. Wenn ich die Abfrage ein wenig verändere: $roles = Get-VIPermission -Principal "XXXX-AD\Role-XXXX-VMware-Linux*" | FL Eigentlich hätte ich jetzt vermutet, dass ich $role.Entity ausgeben kann, aber leider kommt keine Ausgabe.
  4. $role enthält namen von Objekten in VMware wie zb. virtuelle Switche oder Ordnern
  5. Hallo zusammen, ich baue gerade eine Excel Datei zur Auswewtung von Berechtigungen in VMware durch Powershell. Dazu werden bestimmte Gruppen abgefragt und in festgelegte Spalten geschrieben. Hierbei komme ich gerade nicht weiter: Berechtigungen auf Objekte in VMware #Abfrage $roles = Get-VIPermission -Principal "XXXX-AD\Role-XXXX-VMware-Linux*" | Sort | Select Entity | FT -AutoSize -HideTableHeaders #Ab welcher Zeile sollen die Infos einfügt werden $row = 7 #In welche Spalte sollen die Infos eingefügt werden $column = 6 ForEach ($role in $roles){ $role $sheet.Cells.Item($row,$column) = $role $column++ #Increment to next Row and reset Column $row++ $column = 6 } Die Variable $role wird zum Test korrekt in der Schleife ausgegeben, nur leider nicht in die Exceltabelle geschrieben. Fehlemeldung Ausnahme von HRESULT: 0x800A03EC In \\xxxPfad_zum_Skriptxxx\VMWare_Berechtigungen_ abfragen_Excel_v0.3.ps1:212 Zeichen:5 + $sheet.Cells.Item($row,$column) = $role + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : OperationStopped: (:) [], COMException + FullyQualifiedErrorId : System.Runtime.InteropServices.COMException Kennt sich jemand vllt. damit besser aus als ich ? Die Abfrage von Gruppenmitglieder ging auch ohne Probleme... Vielen Dank schon einmal
  6. Achso, da habe ich dich falsch verstanden. Ja okay, das wäre auch noch eine Möglichkeit, aber an sich kann ich mit meiner Abfrage schon arbeiten
  7. Mit folgendem Befehl bekomme ich auch bei 2008er Servern ein vernünftiges Ergebnis Get-WmiObject win32_operatingsystem | select csname, @{LABEL=’LastBootUpTime’ ;EXPRESSION={$_.ConverttoDateTime($_.lastbootuptime)}} An sich ist das Ergebnis schonmal nicht schlecht. Hier einmal das Ganze Skript: cls $host.ui.RawUI.WindowTitle = "Laufzet v0.2" $servers = Get-ADComputer -filter {Name -like "*NTS*"} -Properties * | Sort "Servername;Startzeitpunkt;Beschreibung;Betriesbsystem" | Out-File C:\Laufzeiten.csv "" | Out-File C:\Laufzeiten.csv -Append foreach($server in $servers){ #$bootzeit = Get-WmiObject win32_operatingsystem -ComputerName $server.Name | select csname, @{LABEL='LastBootUpTime’ ;EXPRESSION={$_.ConverttoDateTime($_.lastbootuptime)}} -EA SilentlyContinue $zeit = Get-WmiObject win32_operatingsystem -ComputerName $server.Name | select @{LABEL='LastBootUpTime’ ;EXPRESSION={$_.ConverttoDateTime($_.lastbootuptime)}} -EA SilentlyContinue $name = $($server.name) $beschreibung = $($server.Description) $bootzeit = $($zeit.LastBootUpTime) $os = $($server.OperatingSystem) if($bootzeit -ne $null) { "$name;$bootzeit;$beschreibung;$os" | Out-File C:\Laufzeiten.csv -Append } else{ "$name;ABFRAGE NICHT MÖGLICH ;$beschreibung;$os" | Out-File C:\Laufzeiten.csv -Append } } Das einzige was mich jetzt noch stört, ist das ANzeigeformat des Datums. Mit deim reinen "Get-WmiObjcet" Befehl, bekomme ich das Datum immer im deutschen Format angezeigt. In meiner CSV-Datei ist es allerdings mal deutsch mal englisch, unabhänging vom Betriebssystem. Kann mir da jemand helfen ?
  8. Forced-Shutdown ist keine Option, da die Serververantwortlichen meist besser entscheiden können, wann eine Downtime möglich ist. Ich habe es auch mit fogendem Befehl versucht: Invoke-Command -ComputerName $server -ScriptBlock {systeminfo | find "Systemstartzeit"} Funktioniert leider auch nicht
  9. Bei uns gibts es viele Server, die durch Serververantwortliche gebootet werden. Dieser Check soll nur der Prüfung dienen, ob die Server auch wirklich gebootet wurden
  10. Hallo zusammen, ich bin gerade dabei ein SKript zu schreiben, welches mir von allen Server die Laufzeit ausgeben soll. Zwecks Windows Updates kann man dann sehen, ob die Server schon neugestartet sind. Mit Servern ab 2012 funktioniert meine Abfrage fehlerfrei, nur alles was älter ist (2008 / 2008R2) scheint nicht mit der Abfrage klar zu kommen: $servers = Get-ADComputer -filter {Name -like "*NTS*"} -Properties * | Sort "Servername;Beschreibung;Startzeit;Betriesbsystem" | Out-File C:\Laufzeiten.csv "" | Out-File C:\Laufzeiten.csv -Append foreach($server in $servers){ $bootzeit = Get-CimInstance Win32_OperatingSystem -Property LastBootUpTime -ComputerName $($server.name) -EA SilentlyContinue | Select LastBootUpTime $name = $($server.name) $beschreibung = ($server.Description) $bootzeit = $($bootzeit.LastBootUpTime) $os = $($server.OperatingSystem) "$name;$beschreibung;$bootzeit;$os" | Out-File C:\Laufzeiten.csv -Append } Jemand eine Idee, wie ich eine Abfrage für alle Server hinbekomme? Danke schon einmal
  11. Hallo zusammen, gibt es eine Möglichkeit alle Gruppen im AD anzeigen zu lassen, die keine NNTS Berechtigungen im FileCluster haben. Beispiel: Das Verzeichnis "Personal" wurde gelöscht. Der Admin hat aber Vergessen, die Gruppen "Personal-R" und "Personal-RW" zu löschen. Somit sind die Gruppen überflüssig. Die Auswertung müsste dann "Personal-R" und "Personal-RW" auflisten Oder gibt es dazu vllt. Freeware Tools ? Vielen Dank schon einmal
  12. In unseren Augen reicht Robocopy, da der eine Server immer als Primärer Server genutzt wird und der andere nur im Falle eines Ausfalls. DFSr sollten wir nur auf WUnsch des Kunden verwenden, bzw. konnten ihm das nicht ausreden. Um die komplexität aufzulösen, wäre es uns Admins eh lieber, den Syn per Robocopy zu machen. Kann ich die DFSr-Gruppe ohne weiteres löschen oder muss ich etwas beachten, vorallem was den DFS Ordner angeht
  13. Kuddel071089

    DFSr Problem

    Hallo zusammen, ich habe aktuell Probleme mit zwei Server und DFS. auf beiden Servern gibts es ein Verzeichnis D:\Apps. Dieser Verzeichnis ist im DFS als Ziel im Ordner "Apps" eingestellt. Damit auf beiden Server immer die gleichen Daten liegen, wurde für den DFS Ordner "Apps" die Replikationsgruppe "Apps" angelegt. DIe Diagnoseberichte zeigen keine Fehler an. Gesynct wird trotzdem nichts. Ich habe gerade nicht wirklich einen Ansatz, wie ich das Problem angehen soll. Kann man die Repl-Gruppe löschen und neu erstellen, ohne dass der DFS Ordner davon irgendetwas mitbekommt? Danke schon einmal für eure Hilfe
  14. Moin Nils, ich habe es jetzt per CSV-Export hinbekommen. Es werden nur User (danke für deinen Hinweis) in eine CSV geschrieben. welche am Ende wieder gelöscht wird
  15. Hallo zusammen, ich bin gerade dabei eine Auswertung per Powershell zu erstellen. Dazu möchte ich die Mitglieder diverser Gruppen auflisten und dann dazu noch ein paar Infos der einzelnen User, wie z.B. Enabled oder Ablaufdatum. Meine erste Abfrage ist daher: $vmadmins = Get-ADGroupMember VMware-Administratoren | Sort | Select SamAccountName Jetzt möchte ich mir noch ein Paar Infos zu den Usern holen: foreach($vmadmin in $vmadmins){ Get-ADUser $vmadmin.SamAccountName -Properties * | Select Enabled, @{Name="ExpiryDate";Expression={[datetime]::FromFileTime($_."msDS-UserPasswordExpiryTimeComputed")}} | Sort } Ich glaube das Problem ist beim Speichern in der Variable, da die User einfach in dieser Form abgespeichert werden: Admin-XYZ Admin-ZXY Admin-123 Admin-321 Kann mir jemand bei meinem Problem helfen?
  16. ja so wird es bereits gemacht. der server wird erst nach installiton aller updates ins produktionsnetz gehängt und dann entsprechende software installiert
  17. Meine Lösung sieht jetzt so aus: $installip = "172.15.2.7" $domain = "xxxxx.local" $username = $env:USERNAME $servername = Read-Host #teporären DNS Eintrag setzen Invoke-Command -ComputerName DC1 -ScriptBlock {Add-DnsServerResourceRecord –ZoneName xxxx.local –A –Name $using:servername –IPv4Address $using:installip} Invoke-Command -ComputerName DC1 -ScriptBlock {Get-DnsServerResourceRecord -ZoneName xxxx.local -Name $using:servername} ipconfig /flushdns Add-Computer -ComputerName $servername -LocalCredential $servername\Administrator -DomainName $domain -Credential $domain\$username -Force -Restart #temporärer DNS-Eintrag entfernen Invoke-Command -ComputerName DC1 -ScriptBlock {Remove-DnsServerResourceRecord -ZoneName xxxx.local -RRType "A" -Name $using:servername -Confirm:$false}
  18. Geplant war, dass Skript auf von einem zentralen Server aus zu starten, da im Anschluss nach dem Reebot mit dem gleichen Skript direkt die Zugriffsgruppen auf dem Server berechtigt werden sollen. Also sehe ich das richtig, dass ich im Skript für den Server einen DNS-Eintrtag setze, der auf die Install-IP zeigt, welchen ich dann am Ende wieder entferne ? Bei der "Fehlerbeschreibung" gebe ich dir natürlich recht. Sehr aussagekräftig ^^. Sorry dafür.
  19. Hallo zusammen, ich habe mir ein Skript geschrieben, um neu installiert Server automatisch in die AD zu heben. Da die Server bis zur endgültigen Inbetriebnahme aber eine Installations-IP haben, scheint das nicht so ganz zu funktionieren. Der AD-Join über die IP will nicht so recht und ein DNS Eintrag ist noch nicht gesetzt: $installip = "172.15.2.7" $domain = "xxxxx.local" $username = $env:USERNAME Add-Computer -ComputerName $installip -LocalCredential $servername\Administrator -DomainName $domain -Credential $domain\$username -Force -Restart Kann es sein, dass ich für den Server erst einen DNS Eintrag setzen muss und dann "Add-Computer -$servername" nehmen muss? Danke schon einmal für die Hilfe
  20. Hallo zusammen, ich versuche gerade mit Powershell zu rechnen, aber irgendwie klappt das nicht. Write-Host "Größe der VM: " -NoNewline $vm = Read-Host $reserve = 400 $gesamt = $vm + $reserve Write-Host "$gesamt" Das Ergebnis soll 420 sein, es kommt aber 20400 raus. Was mache falsch ? Gruß Kuddel
  21. Sprich bei HP Hardware installiert man die Sicherheitsupdates für Windows über das Intelligent Provisioning oder wie ? Wir haben die Updates bisher immer über das OS installiert
  22. Log liefere ich gleich. Ja ich musste ein Inplace Upgrade machen, da DomainLevel bereits auf 2012 angehoben wurde und der DC somit verpflichtend auf Windows Server 2012 laufen muss
  23. Hallo zusammen, immer wenn ich auf einem unserer Domain Controller Sicherheitsupdates einspielen will, muss ich feststellen, dass sich ca. jedes dritte Update nicht installieren lässt. Somit muss ich jedes Updates einzeln installieren, was schlichtweg nervig ist. Der Server an sich ist ein HP ProLiant DL360 G7. Da die G7 Serie von HP in ihrer Installationsroutine (Intelligent Provisioning) kein Server 2012 unterstüzt, musste erst Server 2008R2 installiert werden um Windows Server 2012 zu insallieren. Mehr als unschön, aber ging nicht anders. Hat jemand einen Tipp für mich was ich da machen kann ? Bin es langsam leit, 2 Tage an einem Sever zu sitzen. Danke schon einmal
  24. Hallo zusammen, bei unseren Usern und Gruppen ist im Beschreibungsfeld immer vermerkt, wann der User erstellt wurde, wer ihne erstellt hat und durch welches Ticket. Da dies nicht immer einheitlich ist (Beispiel: mal 01.01.15 aber auch 15.01.2015) würde ich dies gern vereinheitlichen. Sofern sich im Beschreibungsfeld nur eine Zeile befindet, bekomme ich das ersetzen via CSV-Export und Import hin, sofern ich irgendwie nach Usern mit nur einer Beschreibungszeile filtern kann. Das größter Problem ist für mich aber, wie ich die zweite zeile bearbeiten kann, da der Export ein Fließtext ist. Ist-Zustand: 10.10.15/XY/REQ-2015-12345 (User erstellt) oder 11.10.2015/YX/-SR-2015-65481(User erstellt) 02.02.16/ZZ/REQ-2016-12354 (Mail Account hinzugefügt) Soll: 10.10.15/XY/REQ-2015-12345 (User erstellt) 11.10.15/YX/REQ-2015-65481 (User erstellt) 02.02.16/ZZ/REQ-2016-12354 (Mail Account hinzugefügt) Ich hoffe ihr versteht was ich meine. Danke schon einmal für die Hilfe
×
×
  • Neu erstellen...