Jump to content

MolotovCooker

Members
  • Gesamte Inhalte

    24
  • Registriert seit

  • Letzter Besuch

1 Benutzer folgt diesem Benutzer

Über MolotovCooker

  • Geburtstag 24.07.1978

Profile Fields

  • Member Title
    Newbie

Fortschritt von MolotovCooker

Contributor

Contributor (5/14)

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

Neueste Abzeichen

10

Reputation in der Community

  1. ist richtig verstanden nur das ich halt die änderungen speichern will. die Daten die gleich sind sollen nur vom abfrage zeitpunkt aktualesiert werden ich bin grad am überlegen ob ich nun die eigentliche anwendung mit ein paar zusatzfunktionen in C# oder VB schreiben soll... bin mir grad noch ein paar gedanken am machen was ich noch alles damit machen will zusätzlich
  2. richtig Die frage ist nur wie und an welcher stelle oder in welcher schleife muss ich die Array machen und wo mache ich den vergleich?! Das ist die Schwierigkeit die ich habe :(
  3. Ja das hab ich heute auch versucht nur gab es nicht das ergebnis was ich mir erwünscht hatte :( da ich dann auch nicht weiß wie ich den Beitrag der "fehlt" hinzufügen kann...Ich hatte das So gemacht das ich die Daten aus der dB hole und dann die foreach schleife starte dann mir zwei schlüsselobjekte raus gesucht hatte (den $varidentifyernumber bring und den displaynamen) habe das dann mit dem Company Befehl gemacht -includet dahinter aber dann verließen die mich...Ich stell gleich mal beide Skripte online das bei Bedarf sich der gesamte Quellcode angeschaut werden kann... So hier mal der Quellcode wo ich zuletzt dran gearbeitet habe... und ja ich weiss is ein wenig chaotisch ;) # Auslesen der im Unternehmen eingesetzten Software auf den Einzelnen Arbeitsstationen $ErrorActionPreference = "SilentlyContinue" # Fehler Unterdrückung ####################### # Datenbankverbindung # ####################### $user = 'root' $pass = '' $database = 'powershell' $MySQLHost = 'localhost' $conn = ConnectMySQL $user $pass $MySQLHost $database function ConnectMySQL([string]$user,[string]$pass,[string]$MySQLHost,[string]$database) { # Load MySQL .NET Connector Objects [void][system.reflection.Assembly]::LoadWithPartialName("MySql.Data") # Open Connection $connStr = "server=" + $MySQLHost + ";port=3306;uid=" + $user + ";pwd=" + $pass + ";database="+$database+";Pooling=FALSE" #Pooling speichert die SQL Verbindung $conn = New-Object MySql.Data.MySqlClient.MySqlConnection($connStr) $conn.Open() $cmd = New-Object MySql.Data.MySqlClient.MySqlCommand("USE $database", $conn) return $conn } function WriteMySQLQuery($conn, [string]$query) { $command = $conn.CreateCommand() $command.CommandText = $query $RowsInserted = $command.ExecuteNonQuery() $command.Dispose() if ($RowsInserted) { return $RowInserted } else { return $false } } $Keys = Get-ChildItem HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall $Items = $keys |foreach-object {Get-ItemProperty $_.PsPath} $varWorkstation = Get-Content env:computername #Auslesen des Computernamens ##################### # auslesen der HKLM # ##################### $command = $conn.CreateCommand() $command.CommandText = "SELECT * FROM software" $reader = $command.ExecuteReader() while($reader.Read()) { $row1 = $reader.GetString(0) #ID $row2 = $reader.GetString(1) #Displayname $row3 = $reader.GetString(2) #DisplayVersion $row4 = $reader.GetString(3) #Publisher $row5 = $reader.GetString(4) #InstallDate $row6 = $reader.GetString(5) #UninstallString $row7 = $reader.GetString(6) #IdentifyingNumber (Hash) $row8 = $reader.GetString(7) #Language $row9 = $reader.GetString(8) #Workstation $row10 = $reader.GetString(9) #checktime foreach ($item in $items) { $varDisplayname = $item.Displayname $varDisplayVersion = $item.DisplayVersion $varPublisher = $item.Publisher $varInstallDate = $item.InstallDate $varUninstallString = $item.UninstallPath $varIdentifyingNumber = $item.ModifyPath $varLanguage = $item.Language ######################################## # Auslesen der Daten aus der Datenbank # ######################################## compare-object -referenceobject $varIdentifyingNumber -differenceobject $row7 -includeequal if ($varIdentifyingNumber -eq $row7) { $query = "UPDATE software SET checktime=now() WHERE Workstation='$row9'" $user = 'root' $pass = '' $database = 'powershell' $MySQLHost = 'localhost' $conn = ConnectMySQL $user $pass $MySQLHost $database $Rows = WriteMySQLQuery $conn $query } else { Write-Host $row7 } } } <# if ($vareins -ne $varzwei) { #Write-Host Datensatz Schreiben $query = " INSERT INTO software (Displayname, DisplayVersion, Publisher, InstallDate, UninstallString, IdentifyingNumber, Language, Workstation, checktime) VALUES ('$varDisplayname', '$varDisplayVersion', '$varPublisher', '$varInstallDate', '$varUninstallString', '$varIdentifyingNumber', '$varLanguage', '$varWorkstation', now())" }#>
  4. Hallo zusammen, ich bin gerade dabei mich mit der Powershell auseinander zu setzen und muss ein Script schreiben was folgendes machen soll: (Bin anfänger 1. Lehrjahr :) ) Es soll die Aktuell Installierte Software ausgelesen werden (ich habe die HKLM genommen) und in eine DB Gespeichert werden. Das klappt auch wunderbar!!! nun zum eigentlichen Problem. Das Script soll ab und zu ausgeführt werden und auf änderungen Prüfen. Sprich es soll den aktuellen stand mit dem der in der DB gespeichert ist vergleichen. Wenn sich nichts an einem Programm geändert hat soll nur das überprüfungsdatum aktualessiert werden und wenn eine Änderung da ist diese Speichern / Hinzufügen. Hier mal der Code wie ich die Daten auslese... $Keys = Get-ChildItem HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall $Items = $keys |foreach-object {Get-ItemProperty $_.PsPath} $varWorkstation = Get-Content env:computername #Auslesen des Computernamens foreach ($item in $items) { $varDisplayname = $item.Displayname $varDisplayVersion = $item.DisplayVersion $varPublisher = $item.Publisher $varInstallDate = $item.InstallDate $varUninstallString = $item.UninstallPath $varIdentifyingNumber = $item.ModifyPath $varLanguage = $item.Language $query = INSERT ........ $user = 'root' $pass = '' $database = 'powershell' $MySQLHost = 'localhost' $conn = ConnectMySQL $user $pass $MySQLHost $database $Rows = WriteMySQLQuery $conn $query } Ich hab zwar ne abfrage gebastelt aber naja die ist mehr schlecht als recht und möchte die keinem zumuten ;) Habe schon versucht alles in einem Array zu speichern und das ganze zu vergleichen aber ich bekomme kein mehrfaches Array hin (hab nix anständiges bei onkel Googel gefunden) und irgendwie speichert der mir nur die letzen einträge im Array :( Evtl. hat ja jemand eine idee? Wenn noch infos benötigt werden... melden :) Danke und Cheers Chris
  5. Mann kann das auch im zuge einer "Teilhabe am Arbeitsleben machen" oder halt wie schon gesagt einer Umschulung... meist muss man aber vorher einen Eignungstest machen (war bei mir so)
  6. MolotovCooker

    Filmzitate raten

    ist das nicht aus Rizzoli & Isles? die serie??? ich habs schonmal gehört weiss nur noch nicht wo :(
  7. hat sich gerade auch erledigt wir haben es raus gefunden... und sorry für die ****e beschreibung *rölsper*
  8. Hallo zusammen, wir machen gerade in unserer Ausbildung (Schulung) ein Projekt und zwar wollen wir ein Win7 Betriebssystem in eine VHD Installieren! Die Bücher und Handbücher haben wir schon durch doch es klappt nicht! hat jemand eine idee? Hintergrund... wir wollen einen WDS Server aufstellen wo dann Teilnehmer Win7 drüber beziehen sollen... Gruß Chris
  9. Ja ich habe jetzt mal angefangen ( hab nen langen weg zur arbeit) wieder was in c++ zu machen doch da klappt es nicht so wie ich es will und das selbst schon bei ner simplen Eingabe ;) Tief rein will ich auch nicht will hält eigene Dinge protzen zum Beispiel ein Installation Programm und so oder halt kleine Anwendungen oder so...
  10. Naja ich war mir halt noch nicht sicher und da sich ja auch so noch keiner geäußert hat aber gelesen...
  11. Hallo Stefan, danke für den Tip ja Java ist k a k a ;) dann werde ich mich auf Visual C# mal Konzentrieren... Games hmm ne das überlasse ich den Profis! :D
  12. Moin Folks Ich bin am überlegen mich wieder intensiver mit dem programmieren zu beschäftigen. Ich habe damal in der Schule mit C angefangen und dann Kamm auch schon schnell C++ später als ich keine Informatik mehr hatte Kamm Visual C und so raus... Grundlagen von Programmierung habe ich schon da ich auch etwas in PHP schreibe, zwar nicht viel aber das Verständnis ist da nur mit dem Visual haperte noch ein bisschen :D Nun kommt die grosse frage welche soll ich nun intensivieren bei C++ kenne ich noch einige befehle wegen ein und aus Gabe. Bestimmt kommt auch die frage " was willst du programmieren?" Ich wurde gerne Windows Anwendungen programmieren also alles was man früher mit der Konsole gemacht hat nur mit Fenstern und so ;) Ich habe mal gehört das die Apps von Win 8 mit C# geschrieben werden? Wenn noch weiter Angaben gebraucht werden fragen, ich beiße nicht ;) Gruß Chris
  13. hehe nobody is perfect :)
  14. nja ich meine du musst noch die Verrenbung deaktevieren... bzw den benutzer/client in die Aussnahme regel der GPO einbinden... du kannst ja so weit ich weiss die user oder clients in jeglicher art und weise einer bestimmten GPO zuweissen... versuch es dochmal damit
  15. Hallo mkeil hab mir gerade mal die Seite da angesehen (aufm Handy sieht man das net so gut ;) ) das mit den scripten ist echt eine feine Sache da frage ich mich doch echt warum ich mich mit auditpol und Co rumschlagen muss ;) Hast du es Geschäft alles was du wolltest zu migrieren? Gruß Chris Ps: Apple sollte sich mal nen anständiges Wörter Buch zu legen ;)
×
×
  • Neu erstellen...