Jump to content

BOfH_666

Expert Member
  • Content Count

    459
  • Joined

  • Last visited

Everything posted by BOfH_666

  1. OK, das "zyklische" wird ja vermutlich bisher auch eher durch eine geplante Aufgabe erledigt, oder? Das könnte man also für ein Powershell-Skript genauso machen. Und die Prüfung auf neue Dateien ist mit Powershell auch nicht kompliziert. Und wenn man das Skript "selbstgebaut" hat, kann man es in Zukunft auch einfacher anpassen, wenn das nötig wird. ... und selbst wenn nicht, inzwischen bekommt man für Powershell-Skripte schneller/einfacher/mehr Hilfe als für VBS.
  2. Hmmm ... es geht um die Umwandlung einer einfachen Excel-Datei in eine CSV-Datei die den gleichen Namen haben soll? Na so'n Hexenwerk ist das jetzt aber auch nicht, oder? $File = Get-Item -Path D:\sample\sample.xlsx $NewName = Join-Path -Path $File.DirectoryName -ChildPath ($File.BaseName + '.csv') Import-Excel -Path $File.FullName | Export-Csv -Path $NewName -NoTypeInformation ... oder fehlt da noch eine wichtige Information?
  3. Bei VBS muss ich passen, aber wenn Ihr sowieso schon auf was Frischeres migriert, wie wäre es mit aktueller Technologie? Mit Powershell und dem Modul ImportExcel sollte das ohne Probleme möglich sein und Ihr spart Euch Excel auf einem Server installieren und bezaheln zu müssen.
  4. Hmmm ... sowas Ähnliches hatte ich befürchtet ... ... von WixToolset hab ich natürlich keine Ahnung und ich bin auch weit davon entfernt, mich einen MSI-Expreten zu nennen, aber was ich mich frage: Warum willst Du denn überhaupt eine MSI-Datei in eine MSI-Datei packen? Was ist die "Umgebung" und was willst Du erreichen? Wenn Du in einer Windows-Domäne unterwegs bist, gibt es üblicherweise verschiedene Möglichkeiten, eine bestimmte Software mit bestimmten Eigenschaften zu installieren.
  5. Du solltest vermutlich nicht nur beschreiben, was Du machen möchtest, sondern auch, was Du bisher gemacht hast und den dazugehörigen Code mitliefern, bitte. Ein paar Informationen über die "Umgebung" wären vermutlich auch nicht schlecht. MSI-Installation kann man normalerweise sehr gut mittels MST-Dateien an die eigenene Bedürfnisse anpassen.
  6. Hast Du denn schon mal danach gesucht? In der PowershellGallery findet man z.B. MarkdownToHtml oder ConvertFromMarkdown - das sollte Dich ja schon mal auf den Weg bringen.
  7. Hmmm ... Frank ... ich weiß nicht, wie es den anderen Kollegen hier geht, aber ich finde Deine Anfrage etwas vage. Ich weiß bisher nicht, was Du eigentlich anstellen willst. Vielleicht ergänzt Du Deine obige Anfrage mit der Beschreibung der Ausgangssituation, mit dem erwarteten Endergebnis und was Du alles schon probiert hast und was nicht funktioniert hat und warum nicht.
  8. Was für eine Verschwendung von Zeit und Energie. ... oder willst Du ein Batch/CMD - Museum eröffnen?
  9. Für Copy-Jobs wird normalerweise robocopy empfohlen. Schau Dir das mal an, vielleicht brauchst Du ja kein Powershell. Falls das für Deine Zwecke nicht ausreicht, wirst Du Dir entweder was passendes im Internet suchen müssen, oder Dir selbst was bauen. Solltest Du schon Poweshell-Code haben, mit dem Du nur Probleme hast, kannst Du den hier posten und beschreiben, welche Probleme Du hast und wir werden versuchen, Dir zu helfen. Dann wären aber ein paar detailiertere Informationen hilfreich.
  10. Such doch mal in der PowershellGallery. Solche Fragen kommen komischerweise öfters und ich vermute, dass es da "schon was von Rationpharm" gibt. Wir setzen dafür SCCM ein - ich hab also keinerlei Erfahrung mit solchen Frickeleien.
  11. Hmmmm ... seit Powershell Version 3.0 gibt's für Get-ChildItem den Parameter -File!! Brauchen wir wirklich noch solche v2.0-Konstrukte?
  12. Das einfachste wär wohl Get-Random ( Get-ChildItem -Path 'Pfad zu den Dateien' ) | Move-Item ...
  13. Wenn Du Dir die Gruppen in ein Array packst, kannst Du mit einer Foreach-Schleife drüber iterieren. Wenn Du Select-Object -ExpandProperty benutzt, machst Du aus vielseitigen Objekten dumme Strings. In Deinem Code-Beispiel hast Du zwei AD-Abfragen, von welcher eine noch eine weitere geschachtelte und direkt gefilterte AD-Abfrage enthält. Ich hätte versucht, das eventuell zu vermeiden. Du könntest die Abfrage auch weiter "oben" absetzen und somit erstmal ALLE Daten für ALLE relevanten Gruppen und Anwender einsammeln. Dann brauchst Du nicht 34 mal das AD durchhühnern.
  14. Gute Idee. Würd ich genau so machen. Wenn ich das nicht falsch verstanden habe, solltest Du mit: $SearchBase = 'NA-Finanzen...' $AllUsersList = Get-ADUser -Filter * -SearchBase $SearchBase -Properties MemberOf, physicalDeliveryOfficeName, mail ... alles Nötige im Array $AllUsersList haben, was Du für Deine Prüfungen brauchst, oder? ... ich würde erwarten, dass das die Sache ewtas beschleunigen sollte. ($SearchBase musst Du natürlich entsprechend korrekt setzen)
  15. Schau Dir mal bitte das Microsoft Deployment Toolkit an. Es ist kostenlos und genau für solche Arbeiten gemacht. .... und für den generellen Einstieg in Powershell ist dieser kostenlose Video-Kurs sehr empfehlenswert: Getting Started wit Microsoft Powershell.
  16. Großartig. Ein bissl zu extensiv dokumentiert für meinen Geschmack, aber wenn es den Job erledigt - cool. Jeder, der auch nur ansatzweise English versteht, kann sich denken, dass ein Befehl wie Start-Service, einen Service startet - für alle Powersheller ist das sowieso logisch. Das muss also nicht dokumentiert werden und bläht den Code nur unnötig auf. Kommentare sind dort nützlich, wo sie etwas Nicht-Offensichtliches erklären.
  17. Sí Señor. ... doppelt hält besser ... erst hat er's / sie's offenbar eilig und jetzt reagiert er / sie nicht mal mehr ... schade ...
  18. Für Deinen 2. Schritt müsste der aktuelle Pfad auf das Oracle-Stamm-Verzeichnis eingestellt sein, damit es so funktioniert. Ich würde empfehlen, den absoluten Pfad zu benutzen ... also statt ".\app\oracle\*", eher "C:\Program Files\Oracle\Whatever\app\oracle\*". Was passiert denn, wenn Du den Befehl so ausführst, wie er ist?
  19. ... und es kann auch nicht schaden, sich die Grundlagen von Powershell einmal einigermaßen strukturiert draufzuschaffen ... es gibt zahlreiche Tutorials im Netz, gute Bücher oder (im Moment noch) den kostenlosen Video-Kurs in der Microsoft Virtual Academy - Getting Started with Powershell.
  20. ... dann wird's aber Zeit ... das ist mit Powershell meiner Meinung nach sogar sehr einfach. Ich gehe davon aus, dass Du ein Excel-Makro meinst. Ich würde vermuten, dass das auch funktioniert, glaube aber, dass das sogar etwas aufwändiger wäre als mit einem Powershell-Script. Als Start-Hilfe könntest Du Dir die cmdlets Get-ChildItem, Where-Object, Foreach-Object, Copy-Item und Move-Item anschauen. Wenn Du Dir jeweils die komplette Hilfe inklusive der Beispiele anschaust, hast Du fast schon alles, was Du brauchst ... und wenn Du stecken bleibst, kannst Du hier wieder fragen.
  21. Das liegt an der Deutschen Version von Excel. Die nimmt automatisch ein Semikolon. Der Text einer "Zelle" in CSV wird normalerweise auch in Anführungszeichen eingeschlossen und kann dann problemlos auch das Trennzeichen der CSV-Datei enthalten.
  22. Hallo DotCom86, CSV steht für Comma Seperated Value. Das Standard-Trennzeichen ist also das Komma. Wenn Du ein anderes Trennzeichen verwenden möchtest, was in Deutschland gern mal empfehlenswert sein kann, weil eine Deutsche Version von Excel dann besser damit umgehen kann, musst Du dem cmdlet Import-CSV oder Export-CSV das jeweils durch den parameter -Delimiter ';' mitteilen. Es ist emfehlenswert, gerade als Anfänger, sich die Hilfe der cmdlets die man benutzt oder benutzen möchte immer komplett und inklusive der Beispiele durchzulesen. Unabhängig davon, würde ich Dir die Lektüre "The Unofficial PowerShell Best Practices and Style Guide" empfehlen.
  23. .... und noch ein Hinweis: Wenn Du das cmdlet Export-Csv studiert hast und das ausprobierst und Excel beim Öffnen der CSV-Datei ein bissl zickig ist, weil es ein Deutsches Excel ist und nicht mit dem Komma als Delimiter klarkommt, nimmst Du einfach -Delimiter ';' .... dann klappt das auch noch.
  24. Hmmm ... wenn Geschwindigkeit wirklich ein relevantes Thema sein sollte - einfach beide Varianten testen mit Measure-Command!
  25. Es gab mal eine Netscape-Navigator-Installations-Routine, die auch nicht bei 100% beendet war ... die ging einfach weiter ... Aber ist doch geil ... sag Deinem Chef, dass Du mindestens 110% Leistung ablieferst.
×
×
  • Create New...