Jump to content

nv_it

Members
  • Content Count

    17
  • Joined

  • Last visited

Community Reputation

0 Neutral

About nv_it

  • Rank
    Newbie

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. Für unsere Zwecke reicht meine Variante vollkommen aus liest genau die Rechner aus die es soll.
  2. ja ich weiß, könnte man in ein Skript bauen aber für unseren Fall ist es separat besser, da wir nicht jedes mal wenn wir die Startzeiten kontrollieren wollen auch gleich die Dateien kopieren möchten. Zu den Kommentaren, ist mit Absicht so einfach beschrieben
  3. Gerne, es sind 2 Skripte: Skript zum Kopieren von einer Datei von mehreren bestimmten Rechnern im Active Directory: #liest Rechner aus dem Active Directory $Rechner = (Get-ADComputer -Filter "Name -like 'XX*-M'-or Name -like 'YY*-S'").Name #Kopiert Datei von Rechner zu Share ForEach ($PC in $Rechner) { Copy-Item -Path "\\Pfad\zur\Quell\Datei\Datei.ini" -Destination "\\Server\Share\$PC.Datei.ini" -ErrorAction Ignore } Skript zum Abfragen der letzten Startzeit von mehreren bestimmten Rechnern im AD: #liest Rechner aus dem Active Directory $Rechner = (Get-ADComputer -Filter "Name -like 'XX*-M'-or Name -like 'YY*-S'").Name #fragt die letzte Startzeit der Rechner ab ForEach ($PC in $Rechner) { (Get-CimInstance -ClassName CIM_OperatingSystem -ComputerName $PC -ErrorAction Ignore| Select-Object -Property LastBootUpTime, PSComputerName) } Da bei meinem Fall zu jedem Rechner meist ein Computerobjekt existiert was nicht erreichbar ist habe ich noch das -ErrorAction Ignore mitgegeben.
  4. Hi, nochmal vielen lieben Dank für die Hilfe! Skript funktioniert, Thema kann als gelöst markiert werden. Kann ich das auch selbst, wenn ja wo?
  5. Okay danke, das hilft mir schonmal weiter jetzt habe ich nochmal eine andere Frage zu meinem LastBootUpTime, das Skript sieht aktuell so aus: $Rechner = (Get-ADComputer -Filter 'Name -like "XX*-M"').Name ForEach ($PC in $Rechner) { (Get-CimInstance -ClassName CIM_OperatingSystem -ComputerName $PC | Select-Object -Property LastBootUpTime) } das gibt mir schonmal brav die Startzeiten der Rechner aus, wie kann ich hier jetzt einstellen das mir das Skript zusätzlich den Rechnernamen zur jeweiligen Startzeit mitgibt?
  6. Moin, danke schonmal für die vielen hilfreichen Antworten und Tipps. Bin etwas weitergekommen, beide Skripte funktionieren jetzt soweit das wenn ich die Rechner einzelnd mit in das Skript (in die Variable) schreibe. $PCListe = @('PC1','PC2') ForEach ($PC in $PCListe) { Copy-Item -Path \\$PC\c$\xxx\xxx\xxx.ini -Destination "\\server\xxx\xxx\$PC.xxx.ini" } Wenn ich allerdings versuche da das Get-ADComputer mit einzubauen erhalte ich aktuell noch Fehler: $PCListe = Get-ADComputer -Filter 'Name -like "xx*-S"' -Properties Name | FT Name ForEach ($PC in $PCListe) { Copy-Item -Path "\\$PC\c$\xxx\xxx\xxx.ini" -Destination "\\server\xxx\xxx\$PC.xxx.ini" } Fehler: Der Pfad "\\Microsoft.PowerShell.Commands.Internal.Format.GroupStartData\\XX\xx.ini" kann nicht gefunden werden... in Zeile 5 Zeichen 5 Copy-Item.... Also er sucht den Pfad garnich nach dem Rechnernamen. Bin gerade etwas ratlos. Wenn ich mir einfach mal die Variable $PCListe ausgeben lasse sehe ich aber das diese richtig gefüllt ist.
  7. nein ich habe das jetzt Testweise mit 2 Rechnern gemacht. wenn ich das bei jedem Rechner einzelnd abfrage funktioniert es einwandfrei, wenn ich jedoch beide rechner in die Variable schreibe klappt es nicht, da scheint er schon ab dieser Zeile ein Problem zu haben: $os = Get-WmiObject -ComputerName $Rechner -Class win32_operatingsystem
  8. Hi, werde ich tun, danke schonmal. Zur WMI-Abfrage habe ich es einfach so probiert: $Rechner = "PC-XY.FQDN","PC-Z.FQDN","PC-USW.FQDN"
  9. Hallo zusammen, ich habe mal wieder zwei kleine Aufgaben die ich mit Powershell realisieren möchte. Folgende Situation: Ich habe ca. 145 Rechner von denen ich eine Datei kopieren will, die bei allen Rechnern im gleichen Pfad liegt. Ich hab das soweit schonmal mit dem Copy-Item gebaut jedoch kommt es mir so vor als würde es auch schöner gehen als jeden Rechner in eine eigene Variable zu packen. Da die kopierten Dateien im gleichen Share landen und jeweils mit Rechnername benannt werden sollen. Hier mal mein Ansatz: $Rechner1="\\XXX-X" $Speicherort1="\\SERVER\SHARE\Unterordner\$Rechner1.Datei.ini" Copy-Item -Path "$Rechner1.FQDN\c$\xxx\xxx\Datei.ini" -Destination $Speicherort1 $Rechner2="\\YYY-Y" $Speicherort2="\\SERVER\SHARE\Unterordner\$Rechner2.Datei.ini" Copy-Item -Path "$Rechner2.FQDN\c$\xxx\xxx\Datei.ini" -Destination $Speicherort2 ... ... Wäre toll wenn mir da jemand einen evt. besseren Weg zeigen kann. Zusätzlich dazu muss ich ein separates Skript erstellen mit dem ich die LastBootUpTime von mehreren Rechnern abfrage. Dazu habe ich auch etwas geschrieben was mir allerdings immer nur von einer Maschine die LastBootUpTime liefert: $Rechner = "PC-XY.FQDN" $os = Get-WmiObject -ComputerName $Rechner -Class win32_operatingsystem $os.ConvertToDateTime($os.LastBootUpTime) bei diesem Skript würde ich nach meinem Verständnis einfach mehrere Rechner in die Variable mit reinschreiben jedoch kommt dann der Fehler: "Get-WmiObject : Der RPC-Server ist nicht verfügbar. 0x8007068A" Wenn ich den Rechner jedoch einzelnd abfrage funktioniert das Skript. Kann mir da evt. jemand sagen wo der Fehler liegt? Vielen Danke schon jetzt für die Hilfe Gruß Niklas
  10. Hi nochmal, der Beitrag kann geschlossen werden. Habe mir die Grundlagen soweit beigebracht dass ich das Skript erfolgreich schreiben konnte. Vielen Dank für die Hilfestellungen
  11. okay, dann schonmal danke für die Tipps ;) ich versuche mich jetzt trotzdem erstmal ein bisschen mit Powershell. Kann mir evt. jemand von euch sagen wenn ich eine csv Datei importiere, die dann in einer Variable speicher, wie ich dann aus dieser Datei in der Tabelle eine bestimmte Zeile auslesen kann?
  12. Ähm, bisher hab ich noch nicht viel mit Sysprep gemacht, in meinem Verständnis kann ich damit ein angepasstes Windows Image erstellen z.B. eigene Software mit einpflegen, und z.B. mit generalize Informationen löschen. Klär mich doch bitte auf damit ich dich auch verstehe
  13. Moin, @zahni Also vom Windows Image her ist ja alles schon fertig, das heißt die Rechner werden alle mit dem gleichen Stand installiert. Was ich mit dem Skript dann machen will ist für jeden Markt die jeweiligen Einstellungen setzen, wie Computername, Domänenbeitritt, Ip-Adresse, Gateway, DNS usw.. Wenn das das ist was du mit Sysprep gemeint hast.
  14. @BOfH_666 Super Sache, bin eh ein freund von kostenlosen Videotutorials vielen Dank dafür werde ich mir auf jeden Fall anschauen.
  15. Okay, vielen lieben Dank schonmal für die Antworten. Ich werde mich mal belesen und basteln und komme dann evt mit Fehlern oder Fragen wieder auf euch zu
×
×
  • Create New...