none
Заливка образа с сохранением разделов SCCM 2012 RRS feed

  • Вопрос

  • Не понятная история раньше у меня был SCCM 2007 , в TS просто удалял или запрещал последовательность задачи "управление дисками"

    Грузил машину по PXE выбирал задачу и Sccm мне чистил раздел потом ставил винду на этот раздел другие соответственно сотавлял. И не трогал их.

    В 2012 этой функции нет что-ли?

    Скажет так есть клиенты у которых не понятно сколько физ дисков и лог разделов. Надо очистить диск С и залить на него винду ...

    Я если честно не понял как это сделать в sccm 2012

    WMI не подходит.


    • Изменено butunin 14 ноября 2012 г. 13:27
    14 ноября 2012 г. 13:22

Ответы

  • Можно и так... А вообще 100мб область создает стандартный установщих, а не ConfigMgr. Не обязательно запускать командную строку, достаточно TS Variables или скриптов.

    Vladimir Zelenov | http://systemcenter4all.wordpress.com

    15 ноября 2012 г. 14:12
    Отвечающий
  • Не претендует на рабочее решение, но скорее всего решит вашу проблему. Создайте файл diskpart.txt, внесите в этот файл следующие строки:

    SELECT DISK 0
    SELECT PARTITION 1
    DELETE PARTITION
    SELECT PARTITION 2
    ASSIGN LETTER=C
    ACTIVE

    Создайте пакет с данным текстовым файлом. Создайте шаг Run Command Line c именем "Remove 100mb Partition" перед шагом Apply Operating System. В созданном шаге пропишите командную строку DISKPART.EXE /s diskpart.txt и укажите пакет с файлом diskpart.txt. Во вкладке Options этого же шага укажите WMI Query:

    select * from win32_diskpartition where Name = 'Disk #0, Partition #0' and Size = 104857600 and BootPartition = '1'

    В шаге Apply Operating System укажите, что устанавливать систему на диск C.

    ВНИМАНИЕ! Перед использованием проверьте на тестовом компьютере! Никаких гарантий. С выходом ConfigMgr 2012 SP1 смогу написать скрипт на PowerShell 3.0, который сможет находить и удалять 100мб партицию, пока могу предложить лишь это решение.


    Vladimir Zelenov | http://systemcenter4all.wordpress.com


    • Изменено Vladimir ZelenovEditor 21 ноября 2012 г. 13:32
    • Помечено в качестве ответа butunin 21 ноября 2012 г. 15:06
    21 ноября 2012 г. 13:30
    Отвечающий

Все ответы

  • Можно выбрать определённый логический диск, а шаг с форматированием разделов просто отключить в последовательности задач.


    http://sccm.com.ua/

    14 ноября 2012 г. 22:30
    Отвечающий
  • У меня так и стоит ...

    Сейчас попробую еще раз , потом тогда Ts.log выложу

    15 ноября 2012 г. 5:44
  • Вообщем история понятна...

    Помогите понять логику.

    Значит на клиенте 5 логических дисков. Назовем их по буквам C,D,E,G,F 

    При запуске WinPE (загрузщик) он создает виртуальный диск Х , а так же диск "С" (!) Все диски клиента смещаются на +1 то есть С стал D , D стал E 

    По этому при поиске буквы , он нашел диск С , и пытается туда вкорячить винду на 100мб диск. Самый простой способ это , но бредовый это открывать командную строку и смотреть на каком диске стояла винда, и в TS говорить об этом.  


    • Изменено butunin 15 ноября 2012 г. 6:30
    15 ноября 2012 г. 6:30
  • Можно и так... А вообще 100мб область создает стандартный установщих, а не ConfigMgr. Не обязательно запускать командную строку, достаточно TS Variables или скриптов.

    Vladimir Zelenov | http://systemcenter4all.wordpress.com

    15 ноября 2012 г. 14:12
    Отвечающий
  • каких скриптов? Все надо щипцами тянуть ... :) 

    Подскажите плиз

    20 ноября 2012 г. 11:48
  • Не претендует на рабочее решение, но скорее всего решит вашу проблему. Создайте файл diskpart.txt, внесите в этот файл следующие строки:

    SELECT DISK 0
    SELECT PARTITION 1
    DELETE PARTITION
    SELECT PARTITION 2
    ASSIGN LETTER=C
    ACTIVE

    Создайте пакет с данным текстовым файлом. Создайте шаг Run Command Line c именем "Remove 100mb Partition" перед шагом Apply Operating System. В созданном шаге пропишите командную строку DISKPART.EXE /s diskpart.txt и укажите пакет с файлом diskpart.txt. Во вкладке Options этого же шага укажите WMI Query:

    select * from win32_diskpartition where Name = 'Disk #0, Partition #0' and Size = 104857600 and BootPartition = '1'

    В шаге Apply Operating System укажите, что устанавливать систему на диск C.

    ВНИМАНИЕ! Перед использованием проверьте на тестовом компьютере! Никаких гарантий. С выходом ConfigMgr 2012 SP1 смогу написать скрипт на PowerShell 3.0, который сможет находить и удалять 100мб партицию, пока могу предложить лишь это решение.


    Vladimir Zelenov | http://systemcenter4all.wordpress.com


    • Изменено Vladimir ZelenovEditor 21 ноября 2012 г. 13:32
    • Помечено в качестве ответа butunin 21 ноября 2012 г. 15:06
    21 ноября 2012 г. 13:30
    Отвечающий
  • По поводу вашего скрипта

    SELECT DISK 0
    SELECT PARTITION
    1
    DELETE PARTITION
    SELECT PARTITION
    2
    ASSIGN LETTER
    =C
    ACTIVE

    А что, если у пользователя несколько дисков и я не знаю на каком установлена система. В таком случае он все потеряет в случае ошибки.


    14 декабря 2013 г. 6:13
  • По поводу вашего скрипта

    SELECT DISK 0
    SELECT PARTITION
    1
    DELETE PARTITION
    SELECT PARTITION
    2
    ASSIGN LETTER
    =C
    ACTIVE

    А что, если у пользователя несколько дисков и я не знаю на каком установлена система. В таком случае он все потеряет в случае ошибки.


    Вы обновились до SP1?

    Vladimir Zelenov | http://systemcenter4all.wordpress.com

    14 декабря 2013 г. 8:25
    Отвечающий
  • По поводу вашего скрипта

    SELECT DISK 0
    SELECT PARTITION
    1
    DELETE PARTITION
    SELECT PARTITION
    2
    ASSIGN LETTER
    =C
    ACTIVE

    А что, если у пользователя несколько дисков и я не знаю на каком установлена система. В таком случае он все потеряет в случае ошибки.


    Вы обновились до SP1?

    Vladimir Zelenov | http://systemcenter4all.wordpress.com


    Да, мы обновились до SP1
    14 декабря 2013 г. 8:47
  • Попробуйте так сделать. Перед шагом "Применить операционную систему" выполните скрипт:

    Set oWMI = GetObject("winmgmts:root\cimv2")
    Set oFSO = CreateObject("Scripting.FileSystemObject")
    Set oTSEnv = CreateObject("Microsoft.SMS.TSEnvironment")
    For each oDrive in oWMI.execQuery("Select * from Win32_LogicalDisk where DriveType = 3 and DeviceID !='X:'" )
    	If oFSO.FolderExists(oDrive.DeviceID & "\Windows") Then
    		oTSEnv("OSDSystemDrive") = oDrive.DeviceID
    	End If
    Next

    В шаге "Применить операционную систему" измените "Назначение" на "Переменная последовательности задач" (Не знаю как точно звучит в русской консоли) и пропишите значение "OSDSystemDrive" (без кавычек), также в самом начале последовательности задач задайте переменной OSDPreserveDriveLetter значение false.

    Vladimir Zelenov | http://systemcenter4all.wordpress.com

    17 декабря 2013 г. 5:35
    Отвечающий