|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » VBS/WSH/JS - Разбивка диска на T-13, T-12 установки WindowsXP - Критическая ошибка 8004100a WMI |
|
VBS/WSH/JS - Разбивка диска на T-13, T-12 установки WindowsXP - Критическая ошибка 8004100a WMI
|
Новый участник Сообщения: 3 |
Профиль | Отправить PM | Цитировать Всем здравствуйте.
Мучаюсь с проблемой разбиения жесткого диска на T-13, T-12 установки WindowsXP (сетевая установка через RIS/WDS) Кто-нибудь пробовал запускать vbs-скрипт из CMDLINES.TXT, который обращается к WMI через GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\CIMV2") ??? При попытке обратиться к любому из классов "Win32_" или "CIM_", например простейший запрос из VBS objService.ExecQuery("SELECT * FROM Win32_DiskDrive ) Почему-то выдает: Критическая ошибка 8004100a swbemobjectset Может где-то какие-нить права нужно выставить, или что-то запустить, или дополнительно установить на T-13, T-12 установки WindowsXP, чтобы нормально заработал WMI? Причем интересно, что "SELECT * FROM __namespace" - работает на ура (т.е. минимальные операции выборок WMI можно производить) Скрипт проверен, в обычной среде (на установленной операционке WindowsXP) работает без проблем, все отрабатывает четко, а вот во время установки на T-13, T-12 не хочет... Поиски информации особо никчему не привели, нашел на нескольких форумах, где вскользь об этом говорится, но что-конкретно сделать - ничего не сказано: http://us.generation-nt.com/answer/w...12.html?page=2 http://programming.itags.org/active-server-page/128945/ Отсюда вопрос, возможно ли вообще на T13, T12 обратиться к WMI и если нет, то тогда при помощи чего автоматизрованно можно разбить жесткие диски на паритиции, передвинуть буквы устройств? diskpart умеет разбивать, передвигать, но для того, чтобы знать что куда двигать и что на компьютере из накопителей есть - нужна логика управления. Т.е. если на компьютере 1 диск-драйв и на этом диске 1 партиция - сделать так-то. Если два и более диск-драйва - сделать так-то. |
|
Отправлено: 07:19, 10-06-2010 |
Googler Сообщения: 3665
|
Профиль | Отправить PM | Цитировать |
Отправлено: 09:24, 10-06-2010 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 3
|
Профиль | Отправить PM | Цитировать Передвинуть буквы CD-ROM(ов) из пула свободных букв (Z,X,Y,W,V)
Если на компьютере 1 диск-драйв и на этом драйве 1 системная праймари-партиция и есть неразмеченное место - создать Extended партицию. Если на компьютере 1 диск-драйв и на этом драйве 1 системная праймари-партиция и нет неразмеченного места - ничего не делать Если два и более диск-драйва - выбрать неразмеченный дискдрайв где нет системной праймари-партиция, создать на выбранном драйве партицию. Выборка диск-драйвов производится среди подключеных через IDE/SCSI, т.е. отметаем флэш-диски, HDD-USB Через WMI - все это реализовать можно без проблем (уже есть написанный скрипт), только вот силы как я понял частично потрачены зря.... Через FSO.Drives количество физических диск-драйвов не увидеть, там только вернутся все буквы логических устройств, да и отмести HDD-USB - не получится (определяется как обычный HDD) Ладно если нельзя на T12,T13 обратитья к WMI, тогда будем через vbs запускать diskpart и анализировать StdOUT, если конечно других вариантов больше нет... Или есть? Пробую сейчас анализировать из текстового файла StdOUT diskpart'а, возникли 2 проблемы: 1) не могу поймать перевод строки, чтоб загнать в массив: alines = Split(alines, vbNewline) Пробовал: VbCrLf, VbCr, chr(13) - не сплитится и все-тут. 2) На T12,T13 - вместо русских букв вылезают кракозябры (как я понял кодировка CP866), как анализировать эти кракозябры?? Быть может тогда имеет смысл использовать diskpart от английской винды, но заработает ли он в русской устанавливаемой WindowsXP ? |
Отправлено: 11:05, 10-06-2010 | #3 |
Googler Сообщения: 3665
|
Профиль | Отправить PM | Цитировать |
Отправлено: 11:42, 10-06-2010 | #4 |
Новый участник Сообщения: 3
|
Профиль | Отправить PM | Цитировать >>на WinXP (RUS) vbLf
С этим разделителем split работает. Как я понял - это аналог chr(10) >>CMD /C "chcp 1251|(echo list disk|diskpart)" Что-то не прокатывает chcp 1251 - все-равно кракозябры выводятся в коносоль... |
|
Отправлено: 11:06, 11-06-2010 | #5 |
Googler Сообщения: 3665
|
Профиль | Отправить PM | Цитировать Цитата dany2k:
- Вами заявлена категория WSH, для которой "родной" является ANSI, поэтому для консольных команд потребуется перекодировка 866->1251, предложенный вызов diskpart делает это ДО передачи в скрипт, пример на VBS: |
|
Отправлено: 05:02, 14-06-2010 | #6 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
HDD - Разбивка жесткого диска. | zelen | Накопители (SSD, HDD, USB Flash) | 30 | 05-05-2010 23:04 | |
Статья - [решено] Разбивка диска. | ALLY | Microsoft Windows 7 | 1 | 03-05-2010 15:55 | |
HDD - Разбивка диска | andvict73 | Накопители (SSD, HDD, USB Flash) | 9 | 20-03-2009 00:20 | |
Разбивка диска на КД | defrag | Microsoft Windows NT/2000/2003 | 4 | 06-03-2007 15:11 | |
разбивка диска (с прицелом на будущее) | mar | Общий по Linux | 4 | 29-01-2007 01:49 |
|