Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Suche jemanden der mir in Powershell helfen kann !!!

Frage Entwicklung Batch & Shell

Mitglied: PowershellAnfaenger1990

PowershellAnfaenger1990 (Level 1) - Jetzt verbinden

30.09.2014, aktualisiert 18:37 Uhr, 1335 Aufrufe, 10 Kommentare, 4 Danke

Hallo,

seit gestern bin auf Probearbeiten für eine Ausbildungsstelle, allerdings habe ich keinerlei vertiefte Erfahrung in Programmieren.

Nun wurde mir aber folgende Aufgabe gestellt :

Nachdem ich via Powershell eine Liste aller installierten Programme und deren Versionen in eine TXT-Datei speichen sollte ( welches ich noch hinbekommen habe) soll ich nun folgendes Szenario lösen :


Ich sollte mir ein Programm aus der Liste aussuchen und so tun als ob ich dieses Programm aus der Liste installieren will.

Nun soll geprüft werden ob wenn das Programm schon installiert ist, die Version veraltet oder noch auf dem neuesten Stand ist und dementsprechend eine Meldung ausgeben.

Das Programm das ich installieren will soll dann mit der registry oder so verglichen werden.


Falls mir jemand schnellstmöglich helfen kann würde ich es sehr nett finden !


Mit freundlichen Grüßen

Dominik


Mitglied: aqui
30.09.2014, aktualisiert um 18:36 Uhr
Falsche Rubrik, denn das wäre hier doch eher was für den Bereich Batch & Shell, oder ??

Kannst du übrigens selber verschieben wenn du beim Thread auf "Bearbeiten" klickst !

P.S.: Ob du dann mit Forenhilfe immer so weiterarbeiten willst musst du für dich selber entscheiden... ?!
Bitte warten ..
Mitglied: colinardo
30.09.2014, aktualisiert um 18:47 Uhr
Probearbeiten für eine Ausbildungsstelle
dann solltest du dich fragen ob die Stelle überhaupt was für dich ist. Die Firmen machen die Tests ja nicht umsonst um zu Prüfen ob der Kandidat für die Stelle bzw. für die anstehenden Arbeiten geeignet ist!

Wir würden dem Arbeitgeber damit keinen Gefallen tun...

Grüße @colinardo

p.s. mit fremden Federn schmückt man sich besser nicht.
Bitte warten ..
Mitglied: templier
30.09.2014, aktualisiert um 19:04 Uhr

Wir würden dem Arbeitgeber damit keinen Gefallen tun...

Grüße @colinardo

p.s. mit fremden Federn schmückt man sich besser nicht.
Absolut korrekt. Oder hast Du dem AG etwas verschwiegen beim Vorstellungsgespräch?

Wenn nicht, würde ich nach einer Schulung in diesem Bereich fragen. Danach kann er Dich mit solchen Dingen konfrontieren.

Mir tönt das eher so, das Du beim Vorstellungsgespräch mehr angegeben hast, als das Du wirklich kannst. Und wir sollen jetzt dabei Helfen Deine Inkompetenz weiter zu verschleiern.

Das Unterstütze ich nicht.

Viel Glück,

Lügen rächen sich immer im Leben.
Bitte warten ..
Mitglied: Xaero1982
30.09.2014 um 19:26 Uhr
Jungs, eure Meinung in allen Ehren, aber hier geht es um eine AUSBILDUNGSStelle.

Warum der das will bei einer Ausbildung ist mir nicht klar. Die Frage die sich mir stellt ist eher: Willst du dort wirklich eine Ausbildung machen? Wer solche vertieften Aufgaben stellt sucht billige Arbeitskräfte und niemanden den er ausbilden kann.

Solche Sachen lernt man ggf. in der Ausbildung und nicht vorher.

Natürlich werden einem evtl. auch fachspezifische Fragen gestellt, aber Programmieraufgaben gehören in der Regel wohl nicht dazu.

Was ist das bitte für eine Stelle?

Die Aufgabe ist nicht mal so eben so runterzuschreiben in meinen Augen.

Gruß
Bitte warten ..
Mitglied: Friemler
30.09.2014, aktualisiert um 21:00 Uhr
Hi @ All,

wie Xaero schon richtig erkannt hat: Erst mal richtig lesen und dann aufregen. Allerdings bin ich der Meinung, dass die Aufgabe zwar schon eine kleine Herausforderung darstellt, aber für jemanden, der (wahrscheinlich) Fachinformatiker Anwendungsentwicklung werden möchte, die Latte nicht zu hoch gelegt wurde. Ich denke, hier soll der "Proband" vor allem auf seine Fähigkeit geprüft werden, sich in ein unbekanntes Themengebiet einzuarbeiten - Alltag für Entwickler.


@ Dominik
Zitat von PowershellAnfaenger1990:

Nun soll geprüft werden ob wenn das Programm schon installiert ist, die Version veraltet oder noch auf dem neuesten Stand ist
und dementsprechend eine Meldung ausgeben.

Das Programm das ich installieren will soll dann mit der registry oder so verglichen werden.
Die Aufgabenbeschreibung klingt erstmal heftig. Die Komplexität einer Aufgabe lässt sich aber immer durch Zerlegung in kleinere Arbeitspakete reduzieren (das ist ggf. mehrfach zu wiederholen). Ich habe oben die Päckchen mal fett hervorgehoben. Daraus ergibt sich:

  1. Herausfinden, wie man an die Liste aller auf dem Rechner installierten Programme (incl. Versionsinfomation) kommt und darin ein bestimmtes Programm findet.
  2. Herausfinden, wie man aus einer EXE-Datei (dem Installer des Programms) die dort enthaltenen Versionsinformationen ausließt.
  3. Herausfinden, wie man die beiden Versionsinfos vergleichen kann (Zerlegen in Haupt- und Nebenversionsnummer).
  4. Herausfinden, wie man die Meldung ausgeben kann (sollte nicht schwer bzw. schon bekannt sein).

Außerdem hast Du noch einen Tipp bekommen (die letzte Hervorhebung): Die für Punkt 1. benötigte Information findet sich in der Registry.

Wenn man Google mit den richtigen Stichworten füttert, finden sich bestimmt schnell einige PowerShell-Schnipsel, die man dann "nur" noch richtig miteinander kombinieren muss, um zur Komplettlösung zu kommen. Hier fängt dann auch der eigentliche Lerneffekt an: Schnipsel per Google zu finden ist keine Kunst, sie zu verstehen, für die eigenen Zwecke anzupassen und zum Schluss integrieren zu können schon.

Gruß
Friemler
Bitte warten ..
Mitglied: PowershellAnfaenger1990
30.09.2014 um 21:56 Uhr
Nach langem suchen der " Schipsel " habe ich etwas zusammenbauen können und bei mir läuft es ( keine ahnung wie ich das hinbekommen habe )

Bin ich den Anforderungen bzw. der Aufgabe gerecht geworden ?

$ProgramName = "TeamSpeak 3 Client"
$ProgramVersion = "3.0"
$Programs = @()

$Programs += Get-ItemProperty HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\* | select-object -Property DisplayName, Publisher, DisplayVersion


$Programs += Get-ItemProperty HKLM:\Software\Wow6432Node\Microsoft\Windows\Currentversion\Uninstall\* | select-object -Property DisplayName, Publisher, DisplayVersion


If ($matchprogram = $Programs | Where-Object -FilterScript {$_.DisplayName -eq $ProgramName } )
{

If ([version]($matchprogram.DisplayVersion) -ge [version]$ProgramVersion)
{

Write-Host -Object "The installed $ProgramName is already up to date"
}
else
{
Write-Host -Object "Time to update $ProgramName "
#installion code
}
}


else
{
Write-Host -Object "$Program will be installed "
#installation code
}
Bitte warten ..
Mitglied: Friemler
30.09.2014, aktualisiert um 22:26 Uhr
Hallo Dominik,

das sieht gut aus. Und da haben andere schon länger gesucht und zusammengebastelt.

Wenn die 1990 in Deinem Nickname eine Bedeutung hat, bist Du 14. Ich denke mal, Softwareentwickler zu werden wäre durchaus eine Option für Dich.

Viel Glück
Friemler


[EDIT]

Allerdings solltest Du die Versionsnummer noch aus der EXE des Installers auslesen, nur dann ist das Script wirklich elegant.

[/EDIT]
Bitte warten ..
Mitglied: PowershellAnfaenger1990
30.09.2014 um 22:30 Uhr
1990 - ich bin 23 :D allerdings noch nie mit Programmieren selber zu tun gehabt aber habe ein Praktikum gemacht und fande es ziemlich interessant.

Was genau meinst du mit Versionsnummer der " EXE des Installers " habe ja eigtl keinen Installer oder wie ist das gemeint ?
Bitte warten ..
Mitglied: Friemler
30.09.2014, aktualisiert um 22:54 Uhr
1990 und 14, oh Mann! Tja, es ist schon spät...

In EXE-Dateien ist eine Versionsinformation integriert, die man auslesen und mit der Versionsnummer des bereits installierten Programms vergleichen kann. Google ist Dein Freund.

Gruß
Friemler
Bitte warten ..
Mitglied: AnkhMorpork
01.10.2014, aktualisiert um 08:02 Uhr
Hallo,

hier mal ein paar (für mich) nützliche Links. Nicht erschrecken - sind ne Menge - aber vielleicht ist was für dich dabei.

http://www.admin-source.de/BlogDeu/links 
 
Technet-Forum: 
http://social.technet.microsoft.com/Forums/de-DE/powershell_de/threads?page=1 
 
Hey scripting guy: 
http://blogs.technet.com/b/heyscriptingguy/?Redirected=true 
 
Script-Center: 
http://gallery.technet.microsoft.com/ScriptCenter/ 
 
Technet, What Can I Do With Windows PowerShell? 
http://technet.microsoft.com/en-us/library/ee332526.aspx 
 
Technet, Windows PowerShell Management Cmdlets: 
http://technet.microsoft.com/de-de/library/hh849827.aspx 
 
Technet, Windows PowerShell Tip of the Week: 
http://technet.microsoft.com/en-us/library/ff730948.aspx 
 
Technet, Windows PowerShell Tips: 
http://technet.microsoft.com/en-us/library/ee692948.aspx 
 
System.Windows.Forms Namespace: 
http://msdn.microsoft.com/en-us/library/system.windows.forms%28VS.80%29.aspx 
 
Dictionary-Object 
http://technet.microsoft.com/en-us/library/ee198718.aspx 
 
Tutorial: 
http://www.computerperformance.co.uk/powershell/ 
 
Cmtlets: 
http://www.colorconsole.de/PS_Windows/en/ 
 
WMI: 
http://social.msdn.microsoft.com/Search/de-DE?query=wmi&emptyWatermark=true&ac=4 
 
Win32 Classes: 
http://msdn.microsoft.com/en-us/library/aa394084%28v=vs.85%29.aspx 
 
Tutorials: 
http://www.powershellpro.com/powershell-tutorial-introduction/powershell-providers/ 
 
 
GUI-Programmierung: 
http://www.martinlehmann.de/wp/download/powershell-gui-programmierung-fur-dummies-step-by-step/ 
 
http://powershell.com/cs/ 
 
 
String-Manipulation: 
http://www.amandhally.net/tag/string-manipulation-in-powershell/ 
http://www.amandhally.net/tag/text-manipulation-in-powershell/ 
https://blogs.technet.com/b/heyscriptingguy/archive/2011/09/21/two-simple-powershell-methods-to-remove-the-last-letter-of-a-string.aspx?Redirected=true 
http://newdelhipowershellusergroup.blogspot.de/p/tutorial-series.html 
 
 
Remote: 
http://technet.microsoft.com/en-us/library/dd819505.aspx 
http://www.computerperformance.co.uk/powershell/powershell_remote.htm 
 
 
Das CMDlet Set-Service kann auch zum Starten & Stoppen von Diensten verwendet werden, es unterstützt den Parameter "-ComputerName" und zum Starten & Stoppen können wir den Parameter "-Status" verwenden. 
Set-Service -Name W32Time -ComputerName pc01 -Status Running 
Der Parameter "-Status" kennt übrigens folgende Modi: 
    Running 
    Stopped 
    Paused 
Quelle: http://www.newcotec.com/blog/entry/dienste-remote-via-powershell-starten 
 
 
Neues in PS 3.0 und 4.0: 
http://technet.microsoft.com/en-us/library/hh857339

Gruß

ankh
Bitte warten ..
Neuester Wissensbeitrag
Microsoft

Lizenzwiederverkauf und seine Tücken

(5)

Erfahrungsbericht von DerWoWusste zum Thema Microsoft ...

Ähnliche Inhalte
Batch & Shell
gelöst PowerShell - Suche performantere Lösung für das Verschieben von XML-Nodes (9)

Frage von Kraemer zum Thema Batch & Shell ...

Batch & Shell
Powershell - In Textdatei suchen und ersetzen (3)

Frage von Raaja89 zum Thema Batch & Shell ...

Batch & Shell
gelöst PowerShell Domain Join (2)

Frage von Patrick-IT zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Windows Server
Outlook Verbindungsversuch mit Exchange (15)

Frage von xbast1x zum Thema Windows Server ...

Microsoft Office
Keine Updates für Office 2016 (13)

Frage von Motte990 zum Thema Microsoft Office ...

Grafikkarten & Monitore
Tonprobleme bei Fernseher mit angeschlossenem Laptop über HDMI (11)

Frage von Y3shix zum Thema Grafikkarten & Monitore ...