Преинсталиране на Citrix и thinprint със сценарий, хронична popobolik

Преинсталиране на Citrix и thinprint със сценарий, хронична popobolik

Ние трябва да работим такива другари, които обичат да използват метода на шокова терапия за целия ред. Това, разбира се, от една страна е добре, когато организацията като цяло, е обитавана от зли тролове, които отхвърлят напредък и актуализации. От друга страна, всеки шокова терапия заплашва главоболие за потребителите и техническа поддръжка.

Наскоро, системни администратори, обявиха, че по-старите версии на Citrix да работят с нас, няма да е скоро. Клиентите, които все още работят с Citrix Online Plugin, са под заплаха. По принцип, те не са много, около триста, но като си перспективата за ръчно преинсталиране Citrix клиент, аз бях ужасена и реши да се автоматизира този бизнес.

Напиши-домакин «изпращане на електронна поща»
$ SmtpServer = «email.bank.int»
$ Съобщ = нов обект Net.Mail.MailMessage
$ Smtp = нов обект Net.Mail.SmtpClient ($ smtpServer)
$ Msg.From = «[email protected]»
$ Msg.To.Add ( «име @ domen.ru, NAME2 @ domen.ru»)
$ Msg.subject = $ Subbj
$ Msg.body = «$ BBody»
#Sending имейл
$ Smtp.Send ($ съобщ)
>

За да стартирате скрипта, първо проверете инсталираната версия tsitriksa на клиента, както и битова операционна система. Ако версията е под tsitriks приемник, изпълнението на скрипта. Ако приемникът е вече инсталирана, програмата просто се затваря:

## На първо място Проверете Citrix Version
отписване домакин
пиша-домакин «***************************»
$ D = получите актуална
отписване домакин $ г

пиша-домакин «Намерени компоненти на стария Citrix:»
$ ВЕИ
#if (тест-пътека «C: \ ProgramData \ Citrix \ Citrix плъгин модул за мрежови приложения")
# Write-домакин «намери един стар клиент"
## Уведомление за потребителя

$ Start = »C: \ ProgramData \ Microsoft \ Windows \ Start Menu \ Programs \ Startup \ CitrixWait2.lnk»
$ Existlnk = тест-път старт $
$ Citrix = »C: \ tempOk»
$ ExistTempok = тест-пътека $ Citrix

пиша-домакин «Existlnk:» $ Existlnk
пиша-домакин «ExistTempok:» $ ExistTempok

Да уведоми потребителя за сценария на компютъра си, направихме специална бележка, че не може да се затвори или колапс. Тук, проверява наличието на настоящото известие в стартиране. Ако съобщението не е налице, сценария преписи на автоматично стартиране от сървъра след следващото рестартиране сценария започва да тече. Ако съобщението е вече там, тя блокира работата на потребителите, изпълнението на скрипта:

## Проверка на файла CitrixWait. Стартиране на скрипта, ако файла съществува
Ако (($ Existlnk) и ($ ExistTempok))
Sendmail «да започне втората част от сценария на компютъра $ ENV на: именакомпютъра» «2-ри Citrix Актуализация на $ Околна среда: именакомпютъра»
## Kill Citrix Client Processses

пиша-домакин «процес убийство: wfcrun32»
Стоп-Process -ProcessName wfcrun32 -Force
пиша-домакин «процес убийство: ssonsvr»
Стоп-Process -ProcessName ssonsvr -Force
пиша-домакин «процес убийство: pnamain»
Стоп-Process -ProcessName pnamain -Force

Тази част от сценария изтрива по-стара версия tsitriksa. Тъй като изглежда, че има версия онлайн Plugin 11, отстраняването може да се извърши с помощта на TrolleyExpress.exe файл със съответните бутони. Версия по-долу могат да бъдат отстранени чрез прехвърляне на GUID (аз не ги изброява в скрипта ви, тъй като ние имаме толкова по-стари версии):

## версия Uninstall стар Citrix
$ InstallDirs = «` »$ InstallLocationC: \ ProgramData \ Citrix \ Citrix плъгин модул за мрежови приложения \ TrolleyExpress.exe`» »

foreach ($ InstallDir в $ InstallDirs)

Стартиране на процеса -FilePath $ InstallDir -ArgumentList «/ деинсталиране / почистване / мълчи» -wait
пиша-домакин «Начало Процесът на деинсталиране за $ InstallDir»
>

В тази част, можете да изтриете всички свързани tsitriksom папки в потребителски профили:

## Изтриване на Citrix папки
Get-ChildItem «C: \ потребители» | ForEach-Object $ път = $ _. FullName + «\ AppData \ Roaming \ ICAClient»
пиша-домакин «Изтриване $ пътека»
извадете-т $ път -Recurse
$ Path = $ _. FullName + «\ AppData \ Local \ Citrix»
пиша-домакин «Изтриване $ пътека»
извадете-т $ път -Recurse
>
извадете-т «C: \ ProgramData \ Citrix \ Citrix плъгин модул за мрежови приложения» -Recurse

След това, с помощта на трансфер GUID, отстранява ThinPrint:

## деинсталиране тънък печат
$ GUIDs = »7BDA669F-7154-4EDE-A426-BAD34EFF1702", «9AD41A70-1C18-48BD-А527-F54E548D3886», «534ECE89-2EC5-451C-AB5B-4816DB86C05F», «B2A17DA7-F2CE-484A-89AB-5B4C064A8BF0» «2A749CB9-14CE-4FC8-A60F-A95DBCE0B7E4», «FE7EDAB1-AB21-4606-AB12-3CC45BF25718», «C23827F2-9883-4195-9D50-F81E923ED5B7»

ForEach ($ GUID в $ GUIDs)
$ ArgumentList = «/ х» + «» + »/ QN REBOOT = ReallySuppress / тихо»
Стартиране на процеса -FilePath msiexec.exe -ArgumentList $ ArgumentList -wait
отписване домакин «Uninstall ThinPrint $ ArgumentList»
>

Сега настроен приемник:

## Инсталиране на приемник
$ InstallFiles = «\\ дял \ CitrixReceiverEnterprise.exe»
$ ArgumentList = '/ noreboot / мълчание / includeSSON ADDLOCAL = »ReceiverInside, ICA_Client, PN_Agent, SSON, USB, DesktopViewer, Flash, Vd3d» Enable_SSON = »Да» Enable_KERBEROS = »Няма» LEGACYFTAICONS = »Вярно» Enable_DYNAMIC_CLIENT_NAME = »Да» ENABLEPRELAUNCH = »Вярно» SERVER_LOCATION = »» "
пиша-домакин «Като се започне монтаж на получателя: $ InstallFiles с аргумент: $ ArgumentList»
Стартиране на процеса -FilePath $ InstallFiles -ArgumentList $ ArgumentList -wait

След инсталирането на приемника е настроен ThinPrint. За това аз направих две .mst файл с желаните настройки настройки за печат на клиента. Една версия за x32 и един за x64. Ние проверите капацитета на системата и инсталирате:

## система за проверка на InfoInstall ThinPrint
Ако ((Get-WmiObject Win32_OperatingSystem) .OSArchitecture -match «64 *")
$ Аргументи = «/ i`» \\ ovsd \ Soft \ Thinprint Клиенти 10.0 \ ThinPrint Client Windows 10_x64.msi` »трансформира =` »\\ ovsd \ Soft \ Thinprint Клиенти 10.0 \ ThinPrint10_x64.mst`» ALLUSERS = 1 / QN "
>
още
$ Аргументи = «/ i`» \\ ovsd \ Soft \ Thinprint Клиенти 10.0 \ ThinPrint Client Windows 10_x86.msi` »трансформира =` »\\ ovsd \ Soft \ Thinprint Клиенти 10.0 \ ThinPrint10_x86.mst`» ALLUSERS = 1 / QN "
>
пиша-домакин «Като се започне монтаж Thinprint Аргументи: $ аргументи»
стартиране на процеса Msiexec -Arg $ аргументи -Wait

След сценария е направено, премахване на известие на потребителя ...:

## Премахване на уведомяване на потребителя

Премахнете-т $ Старт
пиша-домакин «Махнете $ Start»

Sendmail «скрипт на актуализацията на клиент е завършил работата на компютъра $ ENV на: именакомпютъра» «Citrix обновяване завърши на $ Околна среда: именакомпютъра»

... и рестартирайте компютъра си:

## рестартиране
отписване домакин «изпраща за рестартиране на компютъра .."
$ D = получите актуална
отписване домакин $ г
Рестарт-Computer -Force
>

Тук просто се проверява условието, че уведомлението за потребителя в стартовата не е:

## Ако файла CitrixWait не съществува
Ако (! $ Existlnk)

Sendmail «стартира първата част от сценария на компютъра $ ENV на: именакомпютъра» «първи Citrix Актуализация на $ Околна среда: именакомпютъра»

Първоначално, скрипт, е три пъти по-малко и са включени само отстраняването и монтаж Citrix / thinprint. Но тогава сценария заинтересовани администраторите и изключва, че ще отида. Уведомление за потребителя, всички видове тест версии, дърводобив, изпращане на електронна поща, и така нататък .. В крайна сметка, се оказа, че съм описано по-горе.