Puneți la loc și ThinPrint cu Citrix un script, popobolik cronică

Puneți la loc și ThinPrint cu Citrix un script, popobolik cronică

Noi trebuie să lucreze astfel de tovarăși care iubesc să folosească metoda de terapie de șoc pentru întregul rând. Aceasta, desigur, pe de o parte este bine, atunci când organizația în ansamblul său, este locuită de trolli rele care resping progresul și actualizări. Pe de altă parte, orice terapie de șoc amenință o durere de cap pentru utilizatori și suport tehnic.

Recent, administratorii de sistem au anunțat că versiunile mai vechi ale Citrix pentru a lucra cu noi, nu va fi în curând. Clienții care sunt încă lucrează cu Citrix Online Plugin, au fost sub amenințare. În principiu, ele nu sunt foarte mult, aproximativ trei sute, dar prin imaginarea perspectiva de a reinstala manual client Citrix, am fost îngrozită și a decis să automatizeze această afacere.

Scrie-gazdă «E-mail Trimiterea»
$ SmtpServer = «email.bank.int»
$ Msg = Net.Mail.MailMessage nou-obiect
$ Smtp = nou obiect Net.Mail.SmtpClient ($ smtpServer)
$ Msg.From = «[email protected]»
$ Msg.To.Add ( «nume @ domen.ru, nume2 @ domen.ru»)
$ Msg.subject = $ Subbj
$ Msg.body = «$ BBody»
#Sending e-mail
$ Smtp.Send ($ msg)
>

Pentru a porni script-ul, verificați mai întâi instalat în prezent tsitriksa versiunea pe client, precum și bit sistem de operare. Dacă versiunea este sub tsitriks Receiver, script-ul este executat. În cazul în care receptorul este deja instalat, script-ul se închide pur și simplu:

## Mai întâi de toate Citrix Verificați versiunea
scrie-gazdă
scrie-gazdă «***************************»
$ D = get-data
scrie-gazdă $ d

scrie-gazdă «componente ale vechiului Citrix Găsit:»
$ res
#if (test-cale «C: \ ProgramData \ Citrix \ Citrix modul plug-in pentru aplicațiile de rețea")
# Scrie-gazdă «a găsit un client vechi“
## Notificare utilizator

$ Start = »C: \ ProgramData \ Microsoft \ Windows \ Start Menu \ Programs \ Startup \ CitrixWait2.lnk»
$ Existlnk = test calea $ de start
$ Citrix = »C: \ tempOk»
$ ExistTempok = test de-cale de $ Citrix

scrie-gazdă «Existlnk:» $ Existlnk
scrie-gazdă «ExistTempok:» $ ExistTempok

Pentru a notifica utilizatorul de script-ul de pe calculatorul lui, am făcut o notificare specială pe care nu puteți închide sau colaps. Aici, verifică prezența acestui aviz în pornire. În cazul în care notificarea nu este prezent, script-ul copiază autostart de la server după următorul script de repornire începe să curgă. În cazul în care notificarea este deja acolo, blochează experiența utilizatorului, script-ul este executat:

## Verificați CitrixWait fișier. Rulați scriptul dacă fișier Exista
Dacă (($ Existlnk) -și ($ ExistTempok))
sendMail «pentru a lansa a doua parte a script-ul de pe calculator $ env: numecomputer» «2a Citrix Actualizare $ env: ComputerName»
## Kill Citrix Client Processses

scrie-gazdă «proces ucide: wfcrun32»
Stop-Process -ProcessName wfcrun32 -Force
scrie-gazdă «proces ucide: ssonsvr»
Stop-Process -ProcessName ssonsvr -Force
scrie-gazdă «proces ucide: pnamain»
Stop-Process -ProcessName pnamain -Force

Această parte a script-ul șterge o versiune mai veche tsitriksa. Din moment ce pare a avea o versiune plug-on-line 11, de ștergere poate fi realizată utilizând fișierul TrolleyExpress.exe cu tastele corespunzătoare. Versiunea de mai jos poate fi îndepărtat prin transfer de GUID (nu le-am afișat în script-ul, așa cum au versiuni atât mai vechi):

## Dezinstalați versiune veche Citrix
$ InstallDirs = «`»$ InstallLocationC: \ ProgramData \ Citrix \ Citrix modul plug-in pentru aplicațiile de rețea \ TrolleyExpress.exe`» »

foreach ($ INSTALLDIR în $ InstallDirs)

Start-proces -FilePath $ INSTALLDIR -ArgumentList «/ dezinstalare / curățare / tăcut» -Stai
scrie-gazdă «Porniți procesul de dezinstalare pentru $ INSTALLDIR»
>

În această parte, ștergeți toate dosarele legate de tsitriksom din profiluri de utilizator:

## Șterge Citrix Folders
Get-ChildItem «c: \ utilizatori» | Foreach-obiect $ cale = $ _. FULLNAME + «\ AppData \ Roaming \ ICAClient»
scrie-gazdă «$ ȘTERGEȚI cale»
eliminați-Articol $ cale -Recurse
$ Path = $ _. FULLNAME + «\ AppData \ Local \ Citrix»
scrie-gazdă «$ ȘTERGEȚI cale»
eliminați-Articol $ cale -Recurse
>
eliminați-Articol «C: \ ProgramData \ Citrix \ Citrix modul plug-in pentru aplicații de rețea» -Recurse

Apoi, folosind GUID de transfer, eliminat ThinPrint:

## Dezinstalați subțire de imprimare
$ GUID = »7BDA669F-7154-4EDE-A426-BAD34EFF1702" ,«9AD41A70-1C18-48BD-A527-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 în $ GUID)
$ ArgumentList = «/ x» + «» + »/ qn REBOOT = ReallySuppress / liniștită»
Start-proces -FilePath msiexec.exe -ArgumentList $ ArgumentList -Stai
scrie-gazdă «Dezinstalare ThinPrint $ ArgumentList»
>

Acum set receptor:

## Instalați Receiver
$ InstallFiles = «\\ parts \ CitrixReceiverEnterprise.exe»
$ ArgumentList = „/ noreboot / tăcut / includeSSON ADDLOCAL =» ReceiverInside, ICA_Client, PN_Agent, SSON, USB, DesktopViewer, Flash, Vd3d »Enable_SSON =» Da »Enable_KERBEROS =» Nu există »LEGACYFTAICONS =» Adevărat »Enable_DYNAMIC_CLIENT_NAME =» Da »ENABLEPRELAUNCH = »Adevărat» SERVER_LOCATION = »» '
scrie-gazdă «Pornirea receptor de instalare: $ InstallFiles cu un argument: $ ArgumentList»
Start-proces -FilePath $ InstallFiles -ArgumentList $ ArgumentList -Stai

După instalarea receptorului este setat ThinPrint. Pentru aceasta am făcut două fișiere .mst cu setările de setări de imprimare client dorite. O versiune pentru x32 și unul pentru x64. Verificăm capacitatea sistemului și de instalare:

## Sistemul de verificare InfoInstall ThinPrint
Dacă ((Get-WmiObject Win32_OperatingSystem) .OSArchitecture -Creați o corespondență între «64 *")
$ Argumentele = «/ I`» \\ ovsd \ Clienti Soft \ ThinPrint 10.0 \ ThinPrint Client Windows 10_x64.msi` »Transformări =` »\\ ovsd \ Clienti Soft \ ThinPrint 10.0 \ ThinPrint10_x64.mst`» ALLUSERS = 1 / qn "
>
altfel
$ Argumentele = «/ I`» \\ ovsd \ Clienti Soft \ ThinPrint 10.0 \ ThinPrint Client Windows 10_x86.msi` »Transformări =` »\\ ovsd \ Clienti Soft \ ThinPrint 10.0 \ ThinPrint10_x86.mst`» ALLUSERS = 1 / qn "
>
scrie-gazdă «Pornind de instalare ThinPrint Argumente: $ argumente»
start-proces msiexec $ -Arg argumente -Stai

După script-ul se face, elimina o notificare utilizatorului ...:

## Eliminare Notificare utilizator

Remove-Postul $ Start
scrie-gazdă «Scoateți $ Start»

sendMail «script pe client update a finalizat lucrul la calculator $ env: ComputerName» «Citrix Actualizare terminat la $ env: ComputerName»

... și reporniți computerul:

## Repornire
scrie-gazdă «trimite pentru a reporni computerul ..“
$ D = get-data
scrie-gazdă $ d
-Force Restart-calculator
>

Aici, doar verificat condiția ca notificarea către utilizatorul în pornire nu este:

## Dacă CitrixWait Fișierul nu există
În cazul în care (! $ Existlnk)

sendMail «a lansat prima parte a script-ul de pe calculator $ env: ComputerName» «Citrix prima actualizare pe $ env: ComputerName»

Inițial, un scenariu a fost de trei ori mai puțin și au inclus numai îndepărtarea și instalarea Citrix / ThinPrint. Dar atunci scriptul adminii și în afara ei interesate ar merge. Notificarea pentru utilizator, toate tipurile de versionare de testare, de logare, trimiterea de e-mail, și așa mai departe .. În cele din urmă, sa dovedit că am descris mai sus.