none
Upgrade eines Distribution Point mit Powershell RRS feed

  • Frage

  • Hallo zusammen,

    ich habe mit Powershell erst vor etwas mehr als einem Monat angefangen, die Lösung zu meiner Frage könnte also ziemlich einfach sein, aber Google und ich kommen einfach nicht drauf.

    Ich muss in der Firma einen Distribution Point von SCCM 2007 auf 2012 upgraden, leider habe ich ein Problem beim Aufruf des entsprechenden cmd-lets Start-CMDistributionPointUpgrade. Einer der Parameter ( -SharedDistributionPoint), benötigt ein Objekt vom Typ <IResultObject#SMS_MigrationDP>.

    Wenn ich nun den Distribution Point aus der Klasse SMS_MigrationDP mit

    Get-WmiObject -query "Select * From SMS_MigrationDP Where Name Like '$DPName'") -computername $computername -namespace root\sms\site_$siteCode 

    hole, stimmt zwar der zurückgegebene Distribution Point, allerdings stimmt der Rückgabetype nicht, was bei der Eingabe in das cmd-let als Parameter folgenden Fehler bringt:

    Cannot convert the * value of type (* ist der NALPath vom Ergebnis-Distribution Point)

    "System.Management.ManagementObject#root\sms\site_*site*\SMS_MigrationDP" to type

    "Microsoft.ConfigurationManagement.ManagementProvider.IResultObject"

    Nun meine Frage: Ist es möglich, den obenen Typ in den unteren zu Konvertieren oder sich auf eine andere Art mit der WMI-Klasse zu verbinden, um den richtigen Typ zurück zu erhalten?

    Vielen Dank im Voraus für jede Antwort!

    SCCVettel

    • Bearbeitet 'Mark' Montag, 22. Juli 2013 11:43
    Montag, 22. Juli 2013 10:33

Antworten

Alle Antworten

  • was bei der Eingabe in das cmd-let als Parameter folgenden Fehler bringt:


    Wie genau gehst Du vor? Was versteht Du unter "Eingabe"?

    $DP = Get-WMIObject -query <siehe oben>
    Und dann
    Start-CMDistributionPointUpgrade -SharedDistributionPoint $DP ...
    ?

    Torsten Meringer | http://www.mssccmfaq.de

    Montag, 22. Juli 2013 11:49
    Beantworter
  • Hey,
    erstmal danke für die Antwort.

    Genau so gehe ich vor, erst hole ich mit der Query

    $DP = Get-WMIObject -query <siehe oben> 

    den DP aus der WMI-Klasse SMS_MigrationDP und führe danach das cmd-let

    Start-CMDistributionPoint -SiteCode $siteCode -SharedDistributionPoint $DP ...

    aus. Ich habe $DP auch schon durch eine foreach-Schleife (falls mehrere Ergebnisse) laufen lassen, das Ergebnis ist aber leider das Selbe.

    • Bearbeitet 'Mark' Montag, 22. Juli 2013 12:10 Formatierung
    Montag, 22. Juli 2013 12:03
  • Sollte dann also richtig sein. Könnte (!) auch sein, daß das cmdlet ein Problem hat. Ich habe leider gerade keine Site greifbar, wo ich das selbst einmal ausprobieren könnte.

    Torsten Meringer | http://www.mssccmfaq.de

    Montag, 22. Juli 2013 15:30
    Beantworter
  • Moin,

    so wie es aussieht, betrifft mein Problem nicht nur -ShareDistributionPoint, sondern generell Objekte, deren Typ in der Spezifikation von Start-CMDistributionPointUpgrade mit
    <iresultobject# *wmi-klasse*>
    angegeben ist (z.B. auch -Boundary Group; Typ <iresultobject#SMS_BoundaryGroup[]> wird erwartet) betrifft, da Get-WmiObject anscheinend immer ein
    "System.Management.ManagementObject#root\sms\site_*site*\*WMI-Klasse*" Objekt
    zurückgibt, und kein
    Microsoft.ConfigurationManagement.ManagementProvider.IResultObject.

    EDIT:
    Da ich mit den letzten Ausführungen doch etwas über das Thema hinausgeschossen bin, habe ich diese wieder entfernt.
    • Bearbeitet 'Mark' Mittwoch, 24. Juli 2013 06:23 Irrelevanter Text
    Dienstag, 23. Juli 2013 07:00
  • Ich habe dazu noch folgende Idee: hast Du schon einmal probiert, Get-CMDistributionPoint zu verwenden? Oder wird der shared DP gar nicht gelistet?

    Torsten Meringer | http://www.mssccmfaq.de

    Mittwoch, 24. Juli 2013 08:01
    Beantworter
  • Hallo Torsten,

    danke für die Antwort. Die Idee ist gut, der Shared DP wird gelistet und ein IResultobject zurückgegeben (sieht zumindest so aus).Wenn ich dieses IResultObject aber dem CMDlet
    Start-CMDistributionPointUpgrade als Parameter -SharedDistributionPoint mitgebe, bringt er den Fehler
    "PSTypeNames of the argument do not match the PSTypeName required by the parameter: IResultObject#SMS_MigrationDP"
    Sieht so aus, als ob wirklich ein Ergebnis aus der Klasse SMS_MigrationDP gebraucht wird.

    • Bearbeitet 'Mark' Freitag, 26. Juli 2013 06:24 Typo
    Mittwoch, 24. Juli 2013 08:37
  • Hallo,

    danke der Nachfrage. Leider konnte ich das Problem nicht lösen, der Stand hat sich gegenüber den Informationen im Thread nicht geändert. Zusammengefasst:

    Ich kann das CMD-let "Start-CMDistributionPointUpgrade" nicht ausführen, da Get-WMIObject System.Management - Objekte zurückgibt, und nicht wie vom CMD-let gefordert IResultObjects (konkret die Parameter -SharedDistributionPoint und -BoundaryGroup).

    MfG


    • Bearbeitet 'Mark' Freitag, 26. Juli 2013 11:30 Fehler meinerseits
    Freitag, 26. Juli 2013 11:29
  • Start-CMDistributionPointUpgrade hat einen (bekannten) Bug. Mir ist kein Workaround bekannt.

    Torsten Meringer | http://www.mssccmfaq.de

    • Als Antwort markiert 'Mark' Donnerstag, 8. August 2013 15:15
    Mittwoch, 31. Juli 2013 15:11
    Beantworter