Jump to content

raven16

Members
  • Gesamte Inhalte

    14
  • Registriert seit

  • Letzter Besuch

Profile Fields

  • Member Title
    Newbie

Fortschritt von raven16

Explorer

Explorer (4/14)

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

Neueste Abzeichen

10

Reputation in der Community

  1. Hi, wollte nochmal nachfragen, weil ich da bis jetzt leider noch keine gute Lösung habe, wie ich, wenn das geht, einen Exit-Code von der dsmc.exe auslesen kann, wenn ich dort einen Befehl absetze oder wie ich beispielsweise den String ANS01203E auf die ersten drei Buchstaben ANS filtere? Danke :)
  2. Da war ich wohl zu voreilig mit dem Thread. Hab jetzt bei $config.Save() den richtigen Dateipfad angegeben und jetzt funktioniert es.
  3. Und mal wieder aufs Neue...Ich fühl mich schon langsam wie eine Nervensäge :D Dieses Mal scheitert es bei mir mit dem Verändern von XML-Dateien. Habe diese XML-Datei per Skript angelegt - hat alles wunderbar geklappt: <ALSaT> <dateien> <config>C:\ALSaTtbkbval\tbkbval.xml</config> <lock>C:\ALSaTtbkbval\data\tbkbval_lock.xml</lock> </dateien> <paths> <log>C:\ALSaT\tbkbval\log</log> </paths> <errors> <ct>0</ct> </errors> </ALSaT> Jetzt würde ich gerne den Wert von <ct>0</ct> am liebsten verändern, indem ich ihn um +1 erhöhe. Mein PowerShell-Buch ist mir da leider keine große Hilfe. Wie man einzelne Attribute einließt, ist noch relativ einfach aber dann ändern und wieder speichern habe ich noch nicht ganz verstanden. Bis jetzt habe ich mir dies zusammengereimt, aber dies funktioniert noch nicht so ganz. Den Wert von 0 auf 1 zu erhöhen klappt schon mal. Den aber dann wieder genau an der gewünschten Stelle zu speichern, da scheitert es noch: #CT_error in der XML-Config um 1 erhöhen [int] $CT_ERROR = $config.ALSaT.errors.ct $CT_ERROR ++ [string] $config.ALSaT.errors.ct = $CT_ERROR $config.Save($config.ALSaT.errors.ct) $config ist die xml-datei, dich ich vorher mit $global:config = (get-Content -Path $path) geladen habe. $path = Ort mit Dateibezeichnung.xml wo sich die Config-XML befindet.
  4. Aso :) Das hatte ich auch irgendwo gelesen mit Params aber als bis jetzt ging das mit $args[] wunderbar. in $args[0] hat der tbkbval geschrieben und in $args[1] den buchstaben J Habe jetzt eine andere Lösung von nem Arbeitskollegen vorgeschlagen bekommen und jetzt funktionierts, so wie ich es wollte. Zur Info: Habe jetzt den Scheduled-Task nicht auf mein Domainen-Adminaccount laufen, sondern auf einen extra dafür erstellten Maschinenaccount.
  5. Ne das funktioniert leider noch nicht so ganz, es scheitert noch an den Parametern. Mein PS-Skript, womit ich ALSaT.ps1 aufrufe, sieht so aus: cd C:\ALSaT\ Start-Job -FilePath ".\ALSaT.ps1" -ArgumentList "tbkbval","J" #.\ALSaT.ps1 tbkbval J Die kommentierte letzte Zeile funktioniert soweit, aber das Skript wird durch den Windows Task-Scheduler alle 2 Minuten gestartet und es soll nicht immer ein Fenster geöffnet werden :( Im Skript ALSaT.ps1 lese ich dann die Parameter so ein (vllt. ist da ja noch der Hund begraben?) $global:instanz = $args[0] $global:location = $args[1] + ":\Oracle\admin\" + $instanz + "\arch\"
  6. Ich hab mir Start-Job vorher angeguckt, aber ich weiß jetzt noch nicht wie ich mit -ArgumentList zwei Parameter an das Skript übergeben soll
  7. Hi, ich möchte gerne ein PS-Skript im Hintergrund laufen lassen. Habe es mit Start-Job .\ALSaT.ps1 tbkbval J probiert, aber er kommt nicht auf die Parameter klar, die ich dem Skript beim Start übergeben möchte. Kann mir jemand helfen? :)
  8. Also funktioniert es auch an dieser Stelle mit einer anderen Variable wie $output $output = .\dsmc.exe query session Oder was meinst du? Ich bin halt blutiger Anfänger :rolleyes:
  9. Weil ich einen bestimmten Wert aus der Fehlermeldung brauchte und mir vorgeschlagen wurde, das zu benutzen? :D Jetzt bin ich ganz verwirrt. Um aus der Ausgabe den Wert ANS1017E herauszufiltern, habe ich gestern schon folgendes gemacht: $Error = .\dsmc.exe query session $Error = -split $Error[7] if($Error[0] -eq "ANS1017E") { echo "TSM-Connection Error" $CT_ERROR = 1 } else { echo "No TSM-Connection Error" $CT_ERROR = 0 } Das funktioniert auch so jetzt, auch wenn es jetzt nicht vielleicht die eleganteste Lösung ist.
  10. So bekomme ich auch kein Output ###TSM-Test-Script #TSM-Console aufrufen cd -path "C:\Program Files\Tivoli\TSM\baclient" $Error = .\dsmc.exe query session #Befehle zum Testen der Verfügbarkeit echo "" echo "Dein letzter Versuch ergab:" $output = $Error[-1] echo $output Der gibt echo $output gar nicht aus sondern beendet das skript einfach.
  11. Bei $error[-1] habe ich keine Ausgabe, wenn ich das danach mit einem echo ausgebe split schaue ich mir mal an :)
  12. ...mit dem $lastexitcode konnte ich die Ausgabe des Befehls in die Variable speichern und könnte sie weiterverwenden. Jetzt habe ich aber noch das Problem, dass der Text relativ lang ist: IBM Tivoli Storage Manager Command Line Backup-Archive Client Interface Client Version 6, Release 2, Level 1.0 Client date/time: 09.05.2012 14:11:12 (c) Copyright by IBM Corporation and other(s) 1990, 2010. All Rights Reserved. Node Name: HDEBEKS1073 ANS1017E Session rejected: TCP/IP connection failure Muss prüfen, ob die Ausgabe der letzten Zeile diesen ANS1017E code hat. Kann ich also $lastexitcode auf einem Inhalt untersuchen? Note: $? funktioniert nicht, weil ich immer ein true zurück bekomme Mit $ERROR[7] bekomme ich immerhin die letzte Zeile noch raus
  13. Eig. nichts besonderes: ich will nur abfragen, ob der TSM-Client sich mit dem TSM-Server connecten kann über die Console. D.h. ich habe irgendwo die Abfrage und danach eine IF-Verzweigung, um entprechend bei vorhandener oder nicht-vorhandener Konnektivität zu reagieren.
  14. Hallo, ich habe gestern das erste Mal PowerShell benutzt und muss jetzt ein Skript schreiben, mit dem ich einen TSM-Server über den TSM-Client abfragen kann. Es gibt auf jedem Client-System eine dsmc.exe, die ich mit PS aufrufen kann, um dort Befehle abzusetzen. Habe die IP des Servers verändert um zu testen, ob er merkt, dass keine Verbindung zum Server besteht. Mit dem Befehl -query access bekomme ich dann folgende Ausgabe: tsm>query access ANS1302E No objects on server match query Unabhängig, ob das jetzt der richtige Befehl ist, um die Verfügbarkeit des TSM-Servers abzufragen, möchte ich gerne wissen, wie ich den Errorcode abfragen kann, um entsprechend darauf reagieren zu können. Ich muss den Exitcode bzw. Fehlermeldung in eine Variable oder sowas schreiben können, um in einem Skript damit arbeiten zu können. Danke schon mal im Vorraus :)
×
×
  • Neu erstellen...