+1.54
5 читателей, 25 топиков

Скрипт конвертирования файлов xls в xlsm

##############################
# Скрипт для конвертирования файлов *.xls -> *.xlsm
##############################
cls
#Подключаем сборку для того, чтобы выбрать с ее помощью тип сохраняемого файла
Add-Type -AssemblyName Microsoft.Office.Interop.Excel
#Выбираем тип сохраняемых файлов
$xlFixedFormat = [Microsoft.Office.Interop.Excel.XlFileFormat]::xlOpenXMLWorkbookMacroEnabled
#Путь к папке с xls-файлами
$Path2xls="\\server\share"
#"Запускаем" Excel (создаем COM-объект Excel.Application)
$objExcel=New-Object -comobject Excel.Application
#Отключаем уведомления пользователя (например, о перезаписи файла)
$objExcel.DisplayAlerts=$False
#получим все xls-файлы в папке
$xlsFiles=@(dir (Join-Path $Path2xls "*.*") -Filter *.xls -Include *xls)
#Для каждого xls-файла в папке...
for ($i=0; $i -lt $xlsFiles.Length; $i++) {
    Write-Progress -Activity "обрабатываем файл $($xlsFiles[$i])" -PercentComplete ([Math]::Round($i*100/$xlsFiles.Length))
    #Start-Sleep -Milliseconds 1
    #
    #выполняем открытие файла ("Рабочей книги") в Excel
    $objWorkbook=$objExcel.Workbooks.Open($xlsFiles[$i].FullName)
    $NewFileName=Join-Path $xlsFiles[$i].DirectoryName "$($xlsFiles[$i].BaseName).xlsm"
    $objWorkbook.SaveAs($NewFileName, $xlFixedFormat);
    #Закрываем книгу Excel
    $objExcel.Workbooks.Close()
    #
}
#
#Выходим из Excel (вернее даем команду на выход из Excel)
$objExcel.Quit()
#обнуляем объект
$objExcel = $null
#запускаем принудительную сборку мусора для освобождения памяти и окончательного завершения процесса
[gc]::collect()
[gc]::WaitForPendingFinalizers()
#

Скрипт изменения содержимого ярлыка.

Данный скрипт позволяет вносить исправления в ярлыки. Это может потребоваться в том случае, если объект, на который ссылался ярлык, по каким-то причинам «перехал» и ссылка стала недействительной. Или для приведения ярлыков к общему стандарту, так, например, в нашей организации пользователи использовали ярлыки ссылающиеся на одни и те же документы в расшаренных папках двумя разными способами: \\servername\sharename\filename и \\DFSRoot\sharename\filename из-за чего возникали проблемы с относительными ссылками в документах Excel (из-за того, что база гиперссылки, не заданная явным образом, зависила от пути к документу при его открытии).


Читать дальше →

Удаление плагина консоли администрирования Kaspersky KSC

Для управления ПО от Каспеского при помощи KSC требуется установить актуальный плагин администрирования для этого ПО. Обычно он устанавливается вместе с пакетом, стоит себе и каши не просит, но, если выходит новая версия этого ПО, с новым плагином, то новый плагин не может быть установлен, пока не будет удален старый. Удалить плагин можно так, как описано в соответствующей статье базы знаний.

В общем, я решил немного автоматизировать этот процесс, чтоб в реестре не ковыряться, и сварганил такой скриптик:
$PlugNameMask="*Антивирус Касперского 8.0 для Windows Servers Enterprise*"
$Cred=Get-Credential dom\useradmin
if ((gwmi win32_processor).AddressWidth — 32) {
$RegPath=«HKLM:\SOFTWARE\Wow6432Node\KasperskyLab\Components\28\Plugins»
}
else {
$RegPath=«HKLM:\SOFTWARE\KasperskyLab\Components\28\Plugins»
}
dir HKLM:\SOFTWARE\Wow6432Node\KasperskyLab\Components\28\Plugins| Get-ItemProperty| select DisplayName, UninstallString|? {$_.DisplayName -like $PlugNameMask} |
%{
$UnInstStrgs = "$($_.UninstallString)" -split " ",2
$Cmd=$UnInstStrgs[0]
$Args=$UnInstStrgs[1]
Start-Process "$Cmd" -ArgumentList $Args -Credential $Cred
}

пустячок, а приятно ;)

Отсутствует доступ к общей папке при обращении к ней по пути DFS

Обратил внимание на то, что у новых пользователей, которые начинают работать за старыми компьютерами (теми, на которых ранее работали другие пользователи) с Windows 7, происходит отказ в доступе к некоторым сетевым папкам, при обращении к ним через DFS. Т.е. при обращении к папке по пути \\server1\share1 доступ есть, а при обращении к той же папке через \\Domain\DFSRoot\DFSLink1 получаем отказ в доступе. При этом доступ к другим сетевым папкам, расположенным на том же сервере при обращении к ним через DFS есть (например, никаких проблем нет при доступе к \\server1\share2 через \\Domain\DFSRoot\DFSLink2). Оказалось, что причиной такого странного поведения является кэш автономных файлов на стороне клиента. Доступ появляется, если на стороне клиента выключить кэширование автономных файлов, и пропадает снова после его включения. Т.е. что-то «засахарилось» в кэше автономных файлов, что не дает обратиться к сетевой папке по DFS-пути. Посему
1)чистим кэш автономных файлов и перезагружаем клиента (http://support.microsoft.com/kb/942974)
2)профит

Сетевой принтер сваливается в состояние "Автономная работа"

Один из сетевых принтеров ВНЕЗАПНО в ОС Windows стал переходить в состояние «Автономная работа». Помогал рестарт «Диспетчера очереди печати», но только на несколько секунд.
Оказалось, что стандартный сетевой порт принтера в ОС Windows имеет возможность настройки параметров взаимодействия с принтером по SNMP-протоколу. Причем по умолчанию эта фитча включена, а порт использует имя сообщества public для общения с принт-контроллером принтера.




Если же в сетевом принт-контроллере принтера (в самой железке) SNMP-протокол отключен или сообщество имеет имя, отличное от заданного в свойствах сетевого порта принтера ОС Windows, то, система, не сумев опросить принтер, переведет его в состояние «Автономная работа». Именно это и произошло в моем случае, когда я изменил имя сообщества в настройках принт-контроллера.

Проблемы с отправкой почты из Outlook после установки обновлений, дубль три (kb2794707)

Очередная порция обновлений, прилетевших в сентябре, привела к уже встречавшимся ранее результатам:
При попытке отправить письмо из MS Outlook получаем сообщение об ошибке «0x800ccc13 Cannot connect to the network. Verify your network connection or modem». При этом, что самое удивительное, если в свойствах учетной записи электронной почты выполнить тестирование учетной записи, нажав соответствующую кнопку, то тестовое сообщение успешно отправляется. Запуск MSOutlook в безопасном режиме не дает положительных результатов, письма не уходят. Никакого exchange-сервера у нас не используется, учетная запись электронной почты использует SMTP-сервер в качестве сервера исходящей почты. Опытным путем было установлено, что к проблемам на сей раз приводит установка обновления kb2794707.
Вышеозначенная проблема замечена только на тех компьютерах, где встречается следующая комбинация ПО:
• Windows 7 x64
• MS Office 2010 x86
• VipNet (разных версий)
Есть подозрение, что проблема возникает именно из-за какой-то несовместимости с VipNet’ом, но, к сожалению, мы не можем отказаться от его использования. Проверка этой гипотезы (путем удаления VipNet’а с проблемных машин) не проводилась.

Касперский, Windows и проблемы после установки KB2823324

Очередная порция веселья:

MS выпустил обновление kb2823324, после установки которого на компы, где установлены KAV6 и KES8, начинаются следующие чудеса:
при загрузке ОС стартует chkdsk, который чекает и правит системный раздел, после чего следут нормальная загрузка. При следующей перезагрузке ОС все повторяется (т.е. в процессе работы ОС с системным разделом что-то происходит, и он помечается, как «грязный»).

KL судорожно выпустила патчик и предлагает его всем желающим на тестирование. Патчик помагает.

А недавно, MS выпустила бюллютень безопасности и статью kb, в которых призывает удалить обновление kb2823324, т.к. оно приводит к сбоям.

Microsoft is investigating behavior where systems may not recover from a restart, or applications cannot load, after security update 2823324 is applied. We recommend that customers uninstall this update. As an added precaution, Microsoft has removed the download links to the 2823324 update while we investigate.
support.microsoft.com/kb/2839011/en-us

V2.0 (April 11, 2013): Added links to Microsoft Knowledge Base Article 2823324 and Microsoft Knowledge Base Article 2839011 under Known Issues. Removed Download Center links for Microsoft security update 2823324. Microsoft recommends that customers uninstall this update. See the Update FAQ for details.
technet.microsoft.com/en-us/security/bulletin/ms13-036

пошел отзывать обновление…

Проблемы с отправкой почты из Outlook после установки обновлений, дубль два (kb2597090)

Сегодня (после уставноки очередной порции обновлений) Outlook x86, установленный на windows 7 x64, снова отказался отправлять сообщения на SMTP-сервер. Ситуация похожа на ту, что уже описывалась раньше, единственное отличие состоит в том, что никакого сообщения об ошибке не выдается вообще. Эксперемнтальным путем выяснил, что удаление kb2597090 нормализует ситуацию.