Windows Server 2003 Powershell für Windows Server 2003

pizza4ever

Lt. Commander
Registriert
Apr. 2009
Beiträge
1.691
Hallo zusammen,

ich soll mehrere Windows Server 2003 weg migrieren (JUHU) und habe mir dafür was in Powershell zusammengeschrieben.

Nun muss ich noch Powershell auf die Server bekommen, und hab von dem Systemverantwortlichen keine Erlaubnis, das Windows Management Framework zu installieren, sondern soll mir die Exe dateien besorgen und auf die Server kopieren...

Weiß jemand ob man die irgendwo zum Download bekommt? Ich vermute nein, oder?
 
Versteh ich das richtig: Du möchtest (sollst) die PowerShell-Laufzeit auf die Server kopieren (nicht installieren) und insbesondere kein WMF installieren?

- Das geht nicht. Das WMF ist für PS zwingend erforderlich, und irgendwie muß PS ja im System registriert werden. Wobei sich mir grad nicht erschließt, warum Du PS nicht auf Servern installieren darfst, die eh wegsollen, aber... sei's drum.

Sehe zwei Möglichkeiten: A; Du findest einen Weg, das doch noch installieren zu dürfen; oder aber B; Du reimplementierst Dein(e) Script(s) als Batchdatei(en).
 
Eure IT Umgebung möchte ich lieber nicht sehen geschweige denn Hand anlegen! :lol:
Das mit der Migration fällt euch zudem auch sehr früh ein, 2 Jahre nach Supportende von 2003.

Und der Systemverantwortliche ist hoffentlich nicht der Chef über eure IT, denn von IT scheint der keine Ahnung zu haben!

Über was für Server reden wir hier eigentlich ? Bitte keine Antwort: die grauen da.
Wie groß ist die Umgebung ?
Usw...

Wenn man als Unternehmen keine Ahnung von IT hat sollte man ein Systemhaus beauftragen.
Aber lass mich raten, IT wird nur als Kostenfaktor gesehen und der erstbeste, der was mit Computer kann, wurde damit beauftragt sich um die IT zu kümmern.
Und wehe dem das kostet auch noch Geld. :lol:
 
Jetzt entspann dich mal ;) Diese Server werden von einem Systemhaus betreut und die haben diese Aussage getroffen.

Es sind Windows 2003 Server und ich migriere nur die Applikation weg, dafür habe ich mir ein Powershell geschrieben und müsste nun PS auf dem Server zum Laufen bekommen.

Umschreiben auf Batch ist keine Option, da es doch knapp 2.000 Zeilen Code sind, die dahinterstecken.

Ich würde mit dem Systemhaus nochmal reden, dass sie doch WMF installieren lassen.
 
Wait: Du meinst, daß das Systemhaus die 2003er Server bereitstellt und Du darauf nur Applikationen hostest? Also so ein bißchen im Sinne von "PaaS" ?

Ich sag mal so: reingepatcht kriegt man das sicherlich irgendwie mit viel Gefriemel und ohne jede Garantie, daß es richtig funktioniert, geschweige denn überhaupt irgendwie funktioniert. WMF ist für die Remote-Funktionalität der PS verantwortlich; wenn Du ohne diese auskommst, paßt es *möglicherweise*.

Nur: Um die Installation (also als Installation) von PS wirst Du nicht drumrumkommen. Und, nur zur Sicherheit: PS2 verwendet teilweise andere Sprachkonstrukte als spätere PS-Versionen. Es kann zB keine Listen abarbeiten. Wenn Dein Script im 2.0-Modus nicht funktioniert (powershell.exe -Version 2), dann kannst Du das unter der "normalen" PS v2 ebenfalls nicht ausführen.

So oder so wird es ein arg umständliches Unterfangen.

Note: Mir schwirrt... ein bißchen PS v6 im Kopf herum. Ich denke zwar nicht ernsthaft, daß das erfolgversprechender ist. Aber, falls Du nicht schon hast: Schau mal in die Richtung, ob das unter Win2003 lauffähig ist, ob es installierbar ist, ob es ohne WMF auskommt... und ob Dein Script ggf damit funktioniert.
 
Hmhmhmhm...

Ja mit V2 habe ich mir grundsätzlich überlegt, aber ich denke das sollte hinhauen, da der Teil nicht sooo komplex ist... hopefully...

Mit V6 könnte ich auch noch probieren, glaube aber nicht ernsthaft dass das klappt da vermutlich die verwendeten Frameworks zu neu sind...

Thx schonmal
Ergänzung ()

Update:

Habs mal mit einer V5 Version und powershell -Version 2 versucht... ergebnis.. ad hoc gehts nicht und da die Fehlermeldung keine Zeile mir anzeigt komme ich da nicht weiter..

Nervig, einfach nervig... 1.png

Ein Gegentest indem ich in das Skript einfach nur echo "hallo" reinschreibe hat aber funktioniert
 
Zuletzt bearbeitet:
Der Execute-Operator ist &. Also zB & .\1.ps1. Die Fehlermeldung ist tatsächlich wieder mal unter aller Sau... scheint aber darauf hinzudeuten, daß innerhalb der PS1-Datei irgendwo ein Problem mit einem - und (vermutlich) einer Variable dahinter aufgetreten ist, die den Wert $null gekriegt hat wegen Inkompatibilitäten.

Write-Warning hilft ggf weiter. Dann sieht man, was erfolgreich läuft und wo der Fehler eintritt. Das Script dann natürlich als "PSv2-Variante" extra abspeichern und nicht das ursprüngliche Teil kaputtbasteln. :)
 
Ne, lag schon am Skript... habs nun aber mal durchgespielt, zum Glück sind nur Zeilen die in das Logfile schreibn betroffen, musste folgende Zeilen auskommentieren:


1.) Add-Content $logfile ((Get-Date).ToString() + ' Following ID has been started: ' + (Compare-Object -ReferenceObject $process_ids -DifferenceObject $process_ids_TMP -PassThru).Id) -Force

Hier wird in das Logfile die gerade gestartete Process ID geschrieben. Alle IDs werden in $process_ids gesammelt und das letzte ist die Differenz aus $process_ids und $process_ids_TMP


2.) Add-Content $logfile (Get-Process | Where-Object {$_.ID -in $process_ids.Id})


Erklärt sich mit 1.); Get Processes für die gestarten IDs...

Dann läuft das Skript zumindestens.. :)

p.s.: mit dem Argument bekomme ich dann heute WMF uaf die Server installiert ... :)
 
Zuletzt bearbeitet:
Zurück
Oben