Fragensteller
which SCCM Table or other solution to stop a wrong OS deployment

Frage
Alle Antworten
-
Kürzlich habe ich in einem anderen Thread folgende Anwort gepostet:
Dieter "... klingt deutsch, die URL des Forums (http://social.technet.microsoft.com/Forums/de-DE/systemcenterde) auch ...
Die besten Chancen auf eine Antwort hat man, wenn man die Frage auf deutsch stellt ;-)"
Was genau willst Du denn machen? Eine bestehende OS-Tasksequenz einfach stoppen? Wie wär's dann mit Rechner ausschalten? Oder hab ich die Frage nicht verstanden. -
Hi Torsten,
jein, das problem liegt etwas anders - ok, das mit dem Englisch ist nicht so passend -
Wir haben ( versehentlich ) einem bereits laufenden Client das neue Deployment zugewiesen - der soll / darf dies aber nicht erhalten.
Wie kann ich diesen Task stoppen
Danke
Dieter -
An welcher Stelle willst Du denn etwas stoppen? Hat der Client die Policy schon empfangen? Geht's um einen Ausrutscher? Suchst Du den "Not aus"-Button? Geht's um das prinzipielle Ausschliessen? Mir ist das Szenario immer noch nicht ganz klar.
Es gibt also eine Collection, auf die eine TS angewiesen ist (vermutlich dann verpflichtend)? Der Client hat die Policy schon empfangen? Die "deadline" ist aber noch nicht abgelaufen? Bitte Details? (Wenn allerdings die TS auf dem Client schon gestartet ist, dann gibt's kein Halt mehr) -
Hallo Teddy,
ich glaube hier wird aneinander vorbei gesprochen.
Ich denke interessant zu wissen ist ob du eine generelle Möglichkeit suchst falsch zugewiesene Task Sequenzen abzubrechen. Ich denke aber sofern der PC diese gestartet hat, ist es meiner Meinung nach nicht möglich diese von der SCCM Konsole aus zu canceln. Da müsste man schon Hand am Client anlegen.
Ich lasse mich aber gern eines besseren belehren. -
Dass das über eine SQL Tabelle machbar ist, habe ich noch nicht gehört. Wir bieten allen Computern mit Client in der Systemsteuerung das Programm:"RECHNER NEU AUFSETZEN - Windows XP mit SP3" an. Spich: Jeder kann, wenn er will, den Rechner neu aufsetzen. Für den Fall, dass das jemand 'versehentlich' hinzufügt und dann noch die Bestätigung mit 'Ja' beantwortet, haben wir ein Script gebaut.
In diesem Fall habe ich als erste Aktion nach 'Restart in WinPE' eine 'Run Commadline' Aktion: cscript.exe "%deployroot%\scripts\zAbfrage.wsf"
Dieses Script schaut so aus:
<job id="zAbfrage">
<script language="VBScript" src="ZTIUtility.vbs"/>
<script language="VBScript">
'//*************************************************************
'// ***** Script Header *****
'//
'// Solution: Solution Accelerator for Business Desktop Deployment
'// File: zAbfrage.wsf
'//
'// Purpose: Starts zAbfrage.hta to request Password for Deployment
'//
'// Usage: cscript zAbfrage.wsf [/debug:true]
'//
'// Customer Build Version: 1.0
'// Customer Script Version: 1.0
'//
'// Customer History:
'//
'/ ***** End Header *****
'//*************************************************************
'//--------------------------------------------------------------
'//
'// Global constant and variable declarations
'//
'//--------------------------------------------------------------
Option Explicit
Dim iRetVal
'//--------------------------------------------------------------
'// End declarations
'//--------------------------------------------------------------
'//--------------------------------------------------------------
'// Main routine
'//--------------------------------------------------------------
On Error Resume Next
iRetVal = ZTIProcess
ProcessResults iRetVal
On Error Goto 0
'//--------------------------------------------------------------
'//
'// Function: ZTIProcess()
'//
'// Input: None
'//
'// Return: Success - 0
'// Failure - non-zero
'//
'// Purpose: Perform main ZTI processing
'//
'//--------------------------------------------------------------
Function ZTIProcess()
ZTIProcess = Failure
MoveWindowOnTop' Start: zAbfrage.hta
oLogging.CreateEntry "Sicherheitsabfrage wurde aufgerufen.", LogTypeInfo
oShell.run "mshta.exe " & oUtility.ScriptDir & "\zAbfrage.hta",0,True' Fehlermeldung wenn Deployment Wizard nicht erfolgreich beendet
If oEnvironment.Item("WizardComplete") <> "Y" Then
oLogging.CreateEntry "ERROR - Die Betriebssysteminstallation wurde durch den Benutzer abgebrochen - Benutzerbenachrichtigung", LogTypeError
MoveWindowOnTop
ForceRebootElse
' Erfolgsmeldung wenn Deployment Wizard erfolgreich beendet
oLogging.CreateEntry "SUCCESS - Die Betriebssysteminstallation wurde durch den Benutzer gestartet.", LogTypeInfo
ZTIProcess = 0End If
End Function
'//--------------------------------------------------------------
'//
'// Function: MoveWindowOnTop()
'// Purpose: Move Custom Script Windows on Top
'//
'//--------------------------------------------------------------
Function MoveWindowOnTop()' Start the AutoIt program to move window on top
oShell.run oUtility.ScriptDir & "\z-MoveWindowOnTop.exe",0,False
End FunctionFunction ForceReboot()
Dim OpSysSet, obj
MsgBox "Die Betriebssysteminstallation wurde durch den Benutzer abgebrochen." & vbNewLine & "Der Computer wird neu gestartet.", 0 + 64, "Abt. IT"
ZTIProcess = 1
End Function</script>
</job>Wobei zAbfrage.hta eine einfache HTA-Datei mit der Warnung des Datenverlusts bei versäumter Sicherung ist (Ja, wir sichern NICHT automatisch). Liefert dieses
hta-Script oEnvironment.Item("WizardComplete") = "Y" ist ZTIProcess = 0. Ansonsten ZTIProcess = 1.
z-MoveWindowOnTop.exe ist ein AutoIt-Script, das alle Fenster mit dem Titel "Abt. IT" nach vorne holt.
Ich habe mir das jetzt noch einmal gelesen und hoffe, dass das für andere nachvollziehbar ist. Ein anderer Weg, eine schon mal gestartete TS abzubrechen ist mir (uns) nicht eingefallen.
Ich hoffe das hilft.
Dietmar