Font installeren middels script

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

Anoniem: 216187

Topicstarter
Ik heb een script welke ik start wanneer een gebruiker aanmeld. Hierdoor worden fonts uit een share op het werkstation geinstalleerd.

VBScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
 Dim objShell, objFSO, wshShell
 Dim strFontSourcePath, objFolder, objFont, objNameSpace, objFile

 Set objShell = CreateObject("Shell.Application")
 Set wshShell = CreateObject("WScript.Shell")
 Set objFSO = createobject("Scripting.Filesystemobject")

 strFontSourcePath = "\\server\fonts"

 If objFSO.FolderExists(strFontSourcePath) Then

 Set objNameSpace = objShell.Namespace(strFontSourcePath)
 Set objFolder = objFSO.getFolder(strFontSourcePath)

 For Each objFile In objFolder.files
 If LCase(right(objFile,4)) = ".ttf" OR LCase(right(objFile,4)) = ".otf" Then
 Set objFont = objNameSpace.ParseName(objFile.Name)
 objFont.InvokeVerb("Install")
 Set objFont = Nothing
 End If
 Next
 Else
 Wscript.Echo "Font Source Path does not exists"
 End If


Echter telkens wanneer het werkstation wordt opgestart, wilt het
script de fonts weer opnieuw installeren.
Bestaat er een script waarmee ik kan checken of het font al bestaat, en dat hij dan gewoon het script sluit.
Ik heb dit wel voor files, echter werkt dit niet in Windows 7. Hij sluit dan gewoon het script.

Acties:
  • 0 Henk 'm!

  • BèR
  • Registratie: Mei 2002
  • Laatst online: 20-11-2022
Kun je de uitvoering van het script niet het best vanuit een RunOnce-registrykey starten? Dat gebeurt maar één keer en is specifiek bedoeld voor dergelijke setup-zaken.

Acties:
  • 0 Henk 'm!

  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

offtopic:
Je kan code tussen [code=vbscript ][/] tags plaatsen ;)

Zie ook: Overzicht van UBB-codes #tag_code

Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.


Acties:
  • 0 Henk 'm!

Anoniem: 216187

Topicstarter
Dat klopt, maar hoe krijg ik dit met een opstartscript voor elkaar?
Telkens als de gebruiker dan aanmeld, dan past hij de RunOnce-registrykey weer aan...
En zo blijft het zich nog herhalen.

Acties:
  • 0 Henk 'm!

Anoniem: 216187

Topicstarter
BtM909 schreef op vrijdag 30 maart 2012 @ 23:46:
offtopic:
Je kan code tussen [code=vbscript ][/] tags plaatsen ;)

Zie ook: Overzicht van UBB-codes #tag_code
Thanks! Heb het gelijk aangepast.

Acties:
  • 0 Henk 'm!

  • Semt-x
  • Registratie: September 2002
  • Laatst online: 15:58
Als er een standaard bedrijfsfont moet worden geinstalleerd, dan hoort dat bij het uitrollen van machines en niet met een login script. Fonts verdwijnen niet plots en het is in mijn ogen niet nodig elke keer te checken als de gebruiker inlogd of dat font nog staat geinstalleerd.
Het installaren van een font voor een bepaalde applicatie, hoort bij de applicatie installatie.
Dus het in een login script zetten vind ik een slecht plan.

Daarnaast heeft bedrijfsfont als nadeel als iemand een document heeft waarin dat font gebruikt word moet dat font worden "gekoppeld" aan het document. Met als gevolg dat een simpel document wordt ineens groot of het wordt vergeten. dan ben je ook afhankelijk van welke versie MS word de ontvanger gebruikt.
met andere woorden, ik ben geen fan van bijzondere fonts. (praktijk ervaring)

Terug naar je vraag, hoe kun je in Windows 7 met vbscript detecteren of een font (in dit geval BAUHS93.TTF) geinstalleerd is?
ik heb een scriptje inelkaar geflanst;
code:
1
2
3
4
5
6
7
8
Set objWMI = GetObject("winmgmts:\\.\root\cimv2")
Set colFonts = objWMI.ExecQuery("Select * from Win32_FontInfoAction WHERE File = 'BAUHS93.TTF'")
decFontsCount = colFonts.Count
If decFontsCount > 0  Then
    Wscript.echo "BAUHS93 installed" 
Else 
    Wscript.echo "BAUHS93 NOT installed" 
End If


Het valt me op dat dit scriptje bij mij niet snel is ( i7 920, 6GB, 160GB G2 intel SSD). Dat maakt een alternatieve manier misschien interessant. Je kan het ook oplossen door in de registry te checken of een key bestaat. Al is de "If reg key exists" functie geen standaard method. dus dat kun je beetje lelijk met 'on error resume next' oplossen. De key in kwestie:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts

h2h,
Sem

Acties:
  • 0 Henk 'm!

Anoniem: 216187

Topicstarter
Semt-X, ik heb ook niet gezegd dat er zomaar fonts verdwenen zijn.
Dit is ook niet het geval. Het is een nieuw speciaal ontworpen font, wat eigenlijk
alleen voor mailverkeer gebruikt zou moeten gaan worden.
(echter kan men aan de andere kant van de lijn de mail dan ook niet lezen, zoals jij stelt... alleen als ze het font hebben, als dit bij mail ook zo is, dan is dit geen optie)

Ik had het inmiddels wel op een andere manier opgelost.
Ik heb een MSI pack gemaakt, met daarin de fonts, en daarin de regkeys die gebruikelijk worden aangemaakt. Deze file run in silent middels een bat file met daarin msiexec /i font.msi /quiet
Het valt me wel op dat na de installatie, het werkstation een reboot nodig heeft, omdat deze anders de fonts niet ziet.

Ik zal het nog even met mails moeten testen, maar als de mail dan niet in de gebruikte font leesbaar is, dan lijkt het mij ook geen goede optie inderdaad.

Acties:
  • 0 Henk 'm!

  • col-dejong
  • Registratie: Juni 2010
  • Laatst online: 17-09-2024
Dit zou je ook kunnen gebruiken, die check of de font al bestaat
VBScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
Dim objFSO
Dim FontFile

Set objFSO = CreateObject("Scripting.FileSystemObject")
Set WSHShell = CreateObject("WScript.Shell")


FontFile = "Pad naar je font als C:\pad"

If Not objFSO.FileExists(FontFile) Then
    WScript.echo "Bestand bestaat niet dus font aanmaken"
        'Hier komt jouw script voor je font te kopiëren
End If

Acties:
  • 0 Henk 'm!

  • DukeBox
  • Registratie: April 2000
  • Laatst online: 23:09

DukeBox

Voor je 't weet wist je 't nie

Nog mooier is om de GPO preferences te gebruiken indien je systemen in een domein hangen (daar ga ik wel van uit aangezien je het nu ook al script). Daar zit automatisch al de mogelijkheid voor een check of een script (succesvol) heeft gelopen.

Duct tape can't fix stupid, but it can muffle the sound.


Acties:
  • 0 Henk 'm!

Anoniem: 216187

Topicstarter
@ col-dejong dit werkt niet. '

Ik geef een fontfile op:
FontFile = "c:\windows\fonts\test.tff"
Dit lettertype bestaat gewoon in de map, echter geeft het script als reactie dat het toch niet bestaat.
(maar in de map Fonts staat de lettertypes met de namen van de lettertype niet van de file)

Acties:
  • 0 Henk 'm!

  • CH4OS
  • Registratie: April 2002
  • Niet online

CH4OS

It's a kind of magic

Ik zou het met een simpel batch bestand doen:

if not exists %windir%/fonts/bestandsnaam.ext copy \\server\share\bestandsnaam.ext %windir/fonts /y
Klaar. :)

[ Voor 3% gewijzigd door CH4OS op 01-04-2012 23:05 ]


Acties:
  • 0 Henk 'm!

Anoniem: 216187

Topicstarter
CptChaos, bij mij werkt het niet op basis van de filenaam. De file wordt niet gezien.

Acties:
  • 0 Henk 'm!

  • CH4OS
  • Registratie: April 2002
  • Niet online

CH4OS

It's a kind of magic

Heb je de batch al geprobeerd dan? ;) Deze werkt anders dan jouw VBScript en anders pak je toch de 8.3 filename erbij? Die werkt áltijd, zeker icm bovenstaande batch.

Acties:
  • 0 Henk 'm!

Anoniem: 216187

Topicstarter
ik gebruik de 8.3 filename, echter wanner ik jou batchfile uitvoer krijg ik het volgende:

C:\Windows/fonts/test.ttf niet verwacht op dit moment.

C:\>if not exists C:\Windows/fonts/test.ttf copy \\server\font\testl.ttf
windir/fonts /y

Acties:
  • 0 Henk 'm!

  • Turdie
  • Registratie: Maart 2006
  • Laatst online: 20-08-2024
Alleen het font naar C:\Windows\Fonts kopieren is niet voldoende, je moet ook nog een reg key toevoegen:
Add a new string value to HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts with the name of the font as the name of the string value, and the name of the font-file as the Data.Dit kun je doen met Group Policy Preferences

Maar ik zou het anders aanpakken.

Een image van Windows 7, die kun je zo aanpassen dat alle fonts en andere gewenste settings erin staan. Dan kun je dat image deployen naar de client met WDS of SCCM.Over dit soort deployment dingen zijn hele boeken geschreven maar als je Windows 7 gebruikt is dit een goede start:
Building a Standard Image of Windows 7: Step-by-Step Guide

De manier die jij nu gebruiker heeft als nadeel dat dit tijd kost bij iedere gebruiker als hij/zij inlogt, en het laatste wat je wilt volgens mij is klagende gebruikers die aangeven dat inloggen lang duurt.

Acties:
  • 0 Henk 'm!

  • CH4OS
  • Registratie: April 2002
  • Niet online

CH4OS

It's a kind of magic

Anoniem: 216187 schreef op zondag 01 april 2012 @ 23:34:
ik gebruik de 8.3 filename, echter wanner ik jou batchfile uitvoer krijg ik het volgende:

C:\Windows/fonts/test.ttf niet verwacht op dit moment.

C:\>if not exists C:\Windows/fonts/test.ttf copy \\server\font\testl.ttf
windir/fonts /y
Met een simpele Google-opdracht heb ik mijn foutje gevonden, check even deze pagina. Als ik de fout zo zie, zie ik dat de slashes verkeerd om staan, my bad. Maar ook dat foutje had je zelf wel kunnen vinden toch?

[ Voor 11% gewijzigd door CH4OS op 02-04-2012 13:46 ]


Acties:
  • 0 Henk 'm!

  • Question Mark
  • Registratie: Mei 2003
  • Laatst online: 16:01

Question Mark

Moderator SSC/WOS

F7 - Nee - Ja

@Topicstarter:

Ik vind het mooi om te lezen dat mede-tweakers druk bezig zijn om je te helpen met je probleem. Ik vind alleen dat je zelf iets te weinig probeert om verder te komen, getuige:
Anoniem: 216187 schreef op vrijdag 30 maart 2012 @ 23:39:
Ik heb dit wel voor files, echter werkt dit niet in Windows 7. Hij sluit dan gewoon het script.
Anoniem: 216187 schreef op zondag 01 april 2012 @ 23:06:
CptChaos, bij mij werkt het niet op basis van de filenaam. De file wordt niet gezien.
Anoniem: 216187 schreef op zondag 01 april 2012 @ 23:34:
ik gebruik de 8.3 filename, echter wanner ik jou batchfile uitvoer krijg ik het volgende:
Het lijkt erop dat je nu aan het vragen bent en achterover leunt totdat je weer een oplossing aangedragen wordt. Dat is niet de bedoeling.... Je kunt zelf toch ook verder zoeken en zaken testen met de aangedragen tips of oplossingen?

MCSE NT4/2K/2K3, MCTS, MCITP, CCA, CCEA, CCEE, CCIA, CCNA, CCDA, CCNP, CCDP, VCP, CEH + zwemdiploma A & B


Acties:
  • 0 Henk 'm!

Anoniem: 216187

Topicstarter
Beste Mark,

Een forum is toch om vragen te stellen?
En wat ik gewoon aangeef, is dat de oplossingen die men aandraagt helemaal geen oplossingen zijn.
En de reactie van CptChaos, had ik al verwacht. Dit had ik er misschien ook even bij moeten vermelden.
Wanneer ik de juiste slashes gebruik, dan krijg ik dezelfde foutmelding. (dit had ik uiteraard ook wel gezien)

Ik heb momenteel een goede oplossing. (buiten dit forum zelf gebouwd, dit is niet voortgekomen uit luiheid) En ik ben blij met de andere oplossingen die worden aangeboden, maar ik mag het dan toch wel aangeven als aangegeven oplossingen gewoon niet werken?!
Dit is denk ik alleen maar leerzaam voor de mede forumgebruikers. Men dankt dat ze een scriptje delen wat werkt, maar dit blijkt gewoon niet te werken.

Ik zal mijn reacties in de toekomst beter formuleren, zodat het niet overkomt dat ik lui achterover zit.
(al probeer ik altijd al zoveel mogelijk te laten zien wat ik heb uitgezocht)

Acties:
  • 0 Henk 'm!

  • CH4OS
  • Registratie: April 2002
  • Niet online

CH4OS

It's a kind of magic

Anoniem: 216187 schreef op maandag 02 april 2012 @ 14:01:
Beste Mark,

Een forum is toch om vragen te stellen?
En wat ik gewoon aangeef, is dat de oplossingen die men aandraagt helemaal geen oplossingen zijn.
En de reactie van CptChaos, had ik al verwacht. Dit had ik er misschien ook even bij moeten vermelden.
Wanneer ik de juiste slashes gebruik, dan krijg ik dezelfde foutmelding. (dit had ik uiteraard ook wel gezien)

Ik heb momenteel een goede oplossing. (buiten dit forum zelf gebouwd, dit is niet voortgekomen uit luiheid) En ik ben blij met de andere oplossingen die worden aangeboden, maar ik mag het dan toch wel aangeven als aangegeven oplossingen gewoon niet werken?!
Dit is denk ik alleen maar leerzaam voor de mede forumgebruikers. Men dankt dat ze een scriptje delen wat werkt, maar dit blijkt gewoon niet te werken.

Ik zal mijn reacties in de toekomst beter formuleren, zodat het niet overkomt dat ik lui achterover zit.
(al probeer ik altijd al zoveel mogelijk te laten zien wat ik heb uitgezocht)
Om te beginnen: een forum is niet bedoeld om alléén maar vragen te stellen. Zonder antwoorden geen vragen die beantwoord worden. ;) Daarnaast zou enige terugkoppeling wel gewaardeerd worden. In een topic alleen de melding plaatsen 'Je script werkt niet' komt gewoon zoals Mark ook al aangeeft, lui over, terwijl je schijnbaar ook dingen doet buiten het forum om. Dat geeft op zich niet, maar meldt het dan wel weer even als je een oplossing gevonden hebt en deel die. Mede forummers kunnen dan in de toekomst daar voordeel uit halen, terwijl je het nu voor jezelf houdt.

[ Voor 36% gewijzigd door CH4OS op 02-04-2012 14:19 ]


Acties:
  • 0 Henk 'm!

Anoniem: 216187

Topicstarter
Lezen is een vak
Anoniem: 216187 schreef op zaterdag 31 maart 2012 @ 02:09:

Ik had het inmiddels wel op een andere manier opgelost.
Ik heb een MSI pack gemaakt, met daarin de fonts, en daarin de regkeys die gebruikelijk worden aangemaakt. Deze file run in silent middels een bat file met daarin msiexec /i font.msi /quiet
Het valt me wel op dat na de installatie, het werkstation een reboot nodig heeft, omdat deze anders de fonts niet ziet.

Ik zal het nog even met mails moeten testen, maar als de mail dan niet in de gebruikte font leesbaar is, dan lijkt het mij ook geen goede optie inderdaad.

Acties:
  • 0 Henk 'm!

  • CH4OS
  • Registratie: April 2002
  • Niet online

CH4OS

It's a kind of magic

En jij denkt dat ik die reactie gezien heb na de waslijst aan andere reacties, waaronder reacties van jou waarin je aangeeft dat een script (o.a. een oplossing van mij) niet werkt? :? Hoe moet ik er dan vanuit gaan dat jouw MSI pakketje werkt?

Over lezen is een vak gesproken... ;) Bedenk je wel dat we allemaal in dit topic jou willen helpen, iets vriendelijker mag ook wel.

[ Voor 17% gewijzigd door CH4OS op 02-04-2012 14:23 ]


Acties:
  • 0 Henk 'm!

  • Question Mark
  • Registratie: Mei 2003
  • Laatst online: 16:01

Question Mark

Moderator SSC/WOS

F7 - Nee - Ja

Anoniem: 216187 schreef op maandag 02 april 2012 @ 14:01:
Een forum is toch om vragen te stellen?
Ik zie Tweakers meer als een discussieplatform wat hulp kan bieden bij bepaalde problemen. Uiteindelijk eindigt elke topicstart wel met een vraag, maar de insteek is niet dat Tweakers als simpele vraagbaak ingezet moet gaan worden.
Ik heb momenteel een goede oplossing. (buiten dit forum zelf gebouwd, dit is niet voortgekomen uit luiheid) En ik ben blij met de andere oplossingen die worden aangeboden, maar ik mag het dan toch wel aangeven als aangegeven oplossingen gewoon niet werken?!
Dit is denk ik alleen maar leerzaam voor de mede forumgebruikers. Men dankt dat ze een scriptje delen wat werkt, maar dit blijkt gewoon niet te werken.
Vergeet niet dat het een stuk 2-richtingsverkeer is. Medetweakers posten een gedeelte van de oplossing, op die basis kun jij misschien verder werken en tot de volledige oplossing komen. Het zou dan fijn zijn dat jij in je laatste bericht de uiteindelijke oplossing post, dan wordt het topic pas echt waardevol voor de search.

[/offopic]

MCSE NT4/2K/2K3, MCTS, MCITP, CCA, CCEA, CCEE, CCIA, CCNA, CCDA, CCNP, CCDP, VCP, CEH + zwemdiploma A & B


Acties:
  • 0 Henk 'm!

Anoniem: 216187

Topicstarter
CptChaos schreef op maandag 02 april 2012 @ 14:22:
[...]
En jij denkt dat ik die reactie gezien heb na de waslijst aan andere reacties, waaronder reacties van jou waarin je aangeeft dat een script (o.a. een oplossing van mij) niet werkt? :? Hoe moet ik er dan vanuit gaan dat jouw MSI pakketje werkt?

Over lezen is een vak gesproken... ;) Bedenk je wel dat we allemaal in dit topic jou willen helpen, iets vriendelijker mag ook wel.
Ik accepteer kritiek, en doe hier iets mee.
Ik vind het vanuit jou kant hier dan ook wel inzet ontbreken, maar dat ter zake.
Als ik aangeef dat iets is opgelost, dan kun je ervanuit gaan dat het MSI packje werkt. ;)

Acties:
  • 0 Henk 'm!

Anoniem: 216187

Topicstarter
Question Mark schreef op maandag 02 april 2012 @ 14:26:
[...]

Ik zie Tweakers meer als een discussieplatform wat hulp kan bieden bij bepaalde problemen. Uiteindelijk eindigt elke topicstart wel met een vraag, maar de insteek is niet dat Tweakers als simpele vraagbaak ingezet moet gaan worden.

[...]
Vergeet niet dat het een stuk 2-richtingsverkeer is. Medetweakers posten een gedeelte van de oplossing, op die basis kun jij misschien verder werken en tot de volledige oplossing komen. Het zou dan fijn zijn dat jij in je laatste bericht de uiteindelijke oplossing post, dan wordt het topic pas echt waardevol voor de search.

[/offopic]
Daar ben ik het mee eens. Het is inderdaad een discussieplatform en geen vraagbaak.
Ik had mijn oplossing al gepost, ik zal deze nog wat verder uitwerken en hier posten.

Acties:
  • 0 Henk 'm!

  • _H_G_
  • Registratie: September 2002
  • Laatst online: 28-04 12:34
Anoniem: 216187 schreef op maandag 02 april 2012 @ 14:28:
Ik had mijn oplossing al gepost, ik zal deze nog wat verder uitwerken en hier posten.
Maar het heeft toch geen zin als de mail naar een externe partij wordt verstuurd? Of mis ik iets.

Acties:
  • 0 Henk 'm!

Anoniem: 216187

Topicstarter
Ik heb hem gevonden ;-)
Ik heb dit doorlopen:
http://egilhansen.com/201...-msi-file-easy-deployment

Het werkte voor mij erg goed!
Complete image deployments voor twee lettertypes lijkt mij wat omslachtig.
Mijn gemaakte MSI pack voer ik nu silent uit bij de login.

Acties:
  • 0 Henk 'm!

Anoniem: 216187

Topicstarter
_H_G_ schreef op maandag 02 april 2012 @ 14:30:
[...]

Maar het heeft toch geen zin als de mail naar een externe partij wordt verstuurd? Of mis ik iets.
Ik kan je niet volgen, dus ik denk dat je iets mist.

Acties:
  • 0 Henk 'm!

  • Venomize
  • Registratie: Februari 2009
  • Laatst online: 11-04 07:29
_H_G_ schreef op maandag 02 april 2012 @ 14:30:
[...]

Maar het heeft toch geen zin als de mail naar een externe partij wordt verstuurd? Of mis ik iets.
Zoals _H_G_ reeds zegt, en al boven aangegeven...

Zolang de externe partij je "speciale" font niet heeft, zal deze ook je bericht niet in die font lezen, maar wordt hiervoor een standaard font gebruikt. Een speciale font heeft dan ook alleen zin in image-bewerkers

Acties:
  • 0 Henk 'm!

Anoniem: 216187

Topicstarter
Excuus, dat klopt helemaal. (ik begreep HG niet)

Acties:
  • 0 Henk 'm!

  • CH4OS
  • Registratie: April 2002
  • Niet online

CH4OS

It's a kind of magic

Anoniem: 216187 schreef op maandag 02 april 2012 @ 14:26:
Ik accepteer kritiek, en doe hier iets mee.
Ik vind het vanuit jou kant hier dan ook wel inzet ontbreken, maar dat ter zake.
Geef dan aan wát je mist, dan kan ik ook iets met de kritiek, die je nu niet geeft. Tevens ga ik er vanuit dat dit een forum is met een wat hoger niveau, waar vaak een sturing naar een bepaalde richting al voldoende moet zijn voor een oplossing. Daarnaast heb ik geen vraag gesteld, dus waarom ik weinig inzet zou hebben getoond begrijp ik niet. Ik heb je zelfs aangegeven wat de fout of fouten waren en heb je zelfs mijn bron ervan gegeven. Wat is daar 'weinig inzet aan' van mijn kant? Met die gegevens had je de fout die ik had gemaakt in het batchbestand toch zélf wel op kunnen lossen?
Als ik aangeef dat iets is opgelost, dan kun je ervanuit gaan dat het MSI packje werkt. ;)
Waarom heb je dan wel anderen nog beantwoord en (zoals bij mijn oplossing) aangegeven 'dat het niet werkt'? ;) Als dus ook een batchfile niet werkt... Waarom zou je de batchfile dan überhaupt hebben geprobeerd, terwijl je toch al een werkende oplossing hebt?

[ Voor 17% gewijzigd door CH4OS op 02-04-2012 14:48 ]


Acties:
  • 0 Henk 'm!

Anoniem: 216187

Topicstarter
Dat deed ik omdat ik altijd open sta voor verbetering.
Mijn MSI pack installeert zich nu telkens weer opnieuw bij het aanmelden.
Het lijkt mij dus een meer ideale oplossing als bijvoorbeeld een script eerst checkt
of de fonts al bestaan, bestaan ze niet, alleen dan installeren.
(nu duurt het aanmelden inderdaad onnodig lang (5seconde langer, is een snelle MSI)
omdat hij telkens de installer start)

De manier waarop dit werkt maakt niet zoveel uit. Ik ben ook nog aan het uitzoeken of ik Advanced Installer deze check kan laten doen, maar dat heb ik nog niet kunnen vinden.
Met jou batchfiletje kreeg ik het in ieder geval ook niet voor elkaar. Ook heb ik al verschillende VBS scripts geprobeerd, maar alle zeggen ze dus steeds dat de files niet aanwezig zijn, maar ze bestaan dus wel. (hij maakt er dan ook test.ttf van en daarna test_0.ttf en dan test_1.ttf etc. dit zie ik wanneer ik naar de map ga in middels de command prompt, echter in de Windows omgeving laat hij dit niet zien.. ofwel een check laat hij op een of andere manier niet toe)

Acties:
  • 0 Henk 'm!

  • CH4OS
  • Registratie: April 2002
  • Niet online

CH4OS

It's a kind of magic

Mooiste is om wel te checken of het bestand en de key al bestaat in het register, bestaan ze, dan weet je dat ze al geïnstalleerd zijn en kun je dus gewoon doorgaan. Bestaan ze niet, dan lijkt het me duidelijk dat ze moeten worden geïnstalleerd. Dit zal allicht uiteindelijk een paar tellen schelen in het logonscript, maar kunnen wel helpen aan een betere beleving van de gebruikers. ;) (Is iig mijn ervaring)

[ Voor 24% gewijzigd door CH4OS op 02-04-2012 14:58 ]


Acties:
  • 0 Henk 'm!

  • Venomize
  • Registratie: Februari 2009
  • Laatst online: 11-04 07:29
Anoniem: 216187 schreef op zaterdag 31 maart 2012 @ 02:09:
Dit is ook niet het geval. Het is een nieuw speciaal ontworpen font, wat eigenlijk
alleen voor mailverkeer gebruikt zou moeten gaan worden.
(echter kan men aan de andere kant van de lijn de mail dan ook niet lezen, zoals jij stelt... alleen als ze het font hebben, als dit bij mail ook zo is, dan is dit geen optie)
Ik snap het niet goed... Je geeft hier duidelijk aan dat het font alleen voor mailverkeer gebruik zal worden.

Maar zoals reeds door verschillende personen is aangegeven, zal jouw nieuw speciaal ontworpen font niet zichtbaar zijn voor de externe partij, dus is al jouw moeite en de daaropvolgende discussie totaal overbodig.

Of mis ik hier iets?

Acties:
  • 0 Henk 'm!

  • CH4OS
  • Registratie: April 2002
  • Niet online

CH4OS

It's a kind of magic

Wellicht een font waarmee intern de mails gelezen gaan worden? Je kan bijvoorbeeld in Outlook 2003 daar een instelling voor doen. ;)

Acties:
  • 0 Henk 'm!

  • Venomize
  • Registratie: Februari 2009
  • Laatst online: 11-04 07:29
Ah, voor speciaal ontworpen interne mails dan ;-) Kan inderdaad, al ben ik dan wel benieuwd wat voor font het is, en wat voor meerwaarde het geeft aan de mails.

Acties:
  • 0 Henk 'm!

  • CH4OS
  • Registratie: April 2002
  • Niet online

CH4OS

It's a kind of magic

Nee, niet per definitie interne e-mails. Ook extern ontvangen e-mails, die via een policy voor een mailclient bijvoorbeeld hun eigen lettertype krijgen.

Acties:
  • 0 Henk 'm!

  • YellowOnline
  • Registratie: Januari 2005
  • Laatst online: 28-03-2023

YellowOnline

BEATI PAVPERES SPIRITV

VBS op Windows 7 :N Powershell FTW!

Volgend script is niet getest maar zou wel moeten doen wat je vraagt.

C#:
1
2
3
4
5
6
7
8
9
10
$SourcePath = "\\server\fonts"
$Fonts = Get-ChildItem $($SourcePath + "\" + "*.ttf")
ForEach ($Font in $Fonts)
    {
    If (Test-Path $($Env:WinDir + "\Fonts\" + $Font.Name) -NE $True))
        {
        $ShellApp =  New-Object -ComObject Shell.Application
        $ShellApp.NameSpace(0x14).CopyHere($Font.FullName)
        }
    }

[ Voor 46% gewijzigd door YellowOnline op 02-04-2012 16:43 . Reden: Geminimaliseerd. ]


Acties:
  • 0 Henk 'm!

  • col-dejong
  • Registratie: Juni 2010
  • Laatst online: 17-09-2024
Anoniem: 216187 schreef op zondag 01 april 2012 @ 22:58:
@ col-dejong dit werkt niet. '

Ik geef een fontfile op:
FontFile = "c:\windows\fonts\test.tff"
Dit lettertype bestaat gewoon in de map, echter geeft het script als reactie dat het toch niet bestaat.
(maar in de map Fonts staat de lettertypes met de namen van de lettertype niet van de file)
Om eventjes dit opnieuw aan te halen, waarschijnlijk heb je totaal geen moeite ondernomen om het te testen.
Op mijn systeem werkt dit perfect.
Als ik kijk naar jouw reactie:
Ik geef een fontfile op:
FontFile = "c:\windows\fonts\test.tff"
een font extensie is bijv. "ttf" niet "tff"

Het script is bedoelt als voorbeeld en kan worden gebruikt door er verder op door te bouwen.
Het is een simpele maar heel snelle oplossing om iets na te kijken.

//edit

Ook ik kan Google gebruiken en de moeite doen om andermans werk te gebruiken:
http://www.cloudtec.ch/bl...ine-script-windows-7.html
Nogmaals net zoals Question Mark aangeeft, Gathering of Tweakers is er om elkaar te helpen, en elkaars kennis te delen. Het afschrijven van elkaars kennis lijkt me nou niet de bedoeling ...

[ Voor 17% gewijzigd door col-dejong op 02-04-2012 19:22 ]


Acties:
  • 0 Henk 'm!

  • Turdie
  • Registratie: Maart 2006
  • Laatst online: 20-08-2024
YellowOnline schreef op maandag 02 april 2012 @ 16:30:
VBS op Windows 7 :N Powershell FTW!

Volgend script is niet getest maar zou wel moeten doen wat je vraagt.

C#:
1
2
3
4
5
6
7
8
9
10
$SourcePath = "\\server\fonts"
$Fonts = Get-ChildItem $($SourcePath + "\" + "*.ttf")
ForEach ($Font in $Fonts)
    {
    If (Test-Path $($Env:WinDir + "\Fonts\" + $Font.Name) -NE $True))
        {
        $ShellApp =  New-Object -ComObject Shell.Application
        $ShellApp.NameSpace(0x14).CopyHere($Font.FullName)
        }
    }
Dit gaat niet werken, want je moet ook nog een regkey toevoegen om de fonts actief te maken op de client:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts

[ Voor 5% gewijzigd door Turdie op 02-04-2012 19:30 ]


Acties:
  • 0 Henk 'm!

  • elevator
  • Registratie: December 2001
  • Niet online

elevator

Officieel moto fan :)

PowerShell als logon script gebruiken is veel te traag -- het opsatrten van Powershell duurt enkele seconden op een relatief snel systeem en die performance hit kan je niet verantwoorden als je alleen maar wat COM objecten gaan instantieren :)

@shadowman12 -- doordat je gebruik maakt van de shellfolders werkt dit normaliter wel. Feitelijk doe je hier mee een geautomatiseerde copy&paste naar je Fonts folder wat binnen de shell automatisch het registreren van het font triggered.

Deployment via MSI zou ik persoonlijk ook doen, dat is het slimste met de minste impact. Mensen die voorstellen om je image te redeployen: 8)7

Acties:
  • 0 Henk 'm!

  • YellowOnline
  • Registratie: Januari 2005
  • Laatst online: 28-03-2023

YellowOnline

BEATI PAVPERES SPIRITV

shadowman12 schreef op maandag 02 april 2012 @ 19:30:
[...]


Dit gaat niet werken, want je moet ook nog een regkey toevoegen om de fonts actief te maken op de client:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts
Zie comment hieronder.
elevator schreef op maandag 02 april 2012 @ 19:34:
@shadowman12 -- doordat je gebruik maakt van de shellfolders werkt dit normaliter wel. Feitelijk doe je hier mee een geautomatiseerde copy&paste naar je Fonts folder wat binnen de shell automatisch het registreren van het font triggered.

PowerShell als logon script gebruiken is veel te traag -- het opsatrten van Powershell duurt enkele seconden op een relatief snel systeem en die performance hit kan je niet verantwoorden als je alleen maar wat COM objecten gaan instantieren :)
Het opstarten bij mij van PoSh duurt minder dan 1 seconde :s En zelfs als het langer was: het zal nog steeds miniem zijn in vergelijking met de tijd die de gebruiker nodig heeft om zijn applicatie te starten waar hij die fonts nodig heeft. Met de -NonInteractive switch gaat de gebruiker er zelfs niets van merken. Ik map mijn drives trouwens op een gelijkaardig manier op mijn systeem.

<PoSh Evangelism>Komt nog bij dat PoSh moderner is en stukken eleganter dan VBS </PoSh Evangelism>

De MSI is een oplossing wanneer de fonts een statische verzameling zijn natuurlijk. Dan is elke checken of de fonts aanwezig zijn overbodig.

[ Voor 26% gewijzigd door YellowOnline op 02-04-2012 19:55 ]


Acties:
  • 0 Henk 'm!

  • Turdie
  • Registratie: Maart 2006
  • Laatst online: 20-08-2024
Inderdaad, jullie hebben gelijk, als je een font kopieerd naar de C:\Windows\Fonts directory via de shell dan wordt die regkey automatisch aangemaakt ;) (net even getest)

[ Voor 5% gewijzigd door Turdie op 02-04-2012 20:05 ]


Acties:
  • 0 Henk 'm!

  • elevator
  • Registratie: December 2001
  • Niet online

elevator

Officieel moto fan :)

Ik ben absoluut een PowerShell fan, maar PowerShell opstarten duurt gewoon langer dan VBScript, en als je vervolgens Powershell gebruikt om COM objecten aan te roepen dan is de meerwaarde negatief mijn inziens.

Acties:
  • 0 Henk 'm!

Anoniem: 216187

Topicstarter
Beste Col,

Eigenlijk zou er nog geen eens aandacht aan moeten besteden.
Maar ik test wel degelijk het geen je aandraagde.
Hoeveel moete is het om jou regeltje tekst te kopieren en te plakken in een bat filetje?

Bij mij werkt de volgende regel toch echt niet:

if not exists %windir%\fonts\test.ttf copy \\server\font\ %windir

(en het is inderdaad ttf, hier had ik een typfout gemaakt (en dan alleen hier, en niet in mijn script)

En wat is het probleem om Google te gebruiken?
Ben je in jou ogen goed bezig, als je elk script zelf opnieuw bedenkt?

Juristen doen de hele dag niets anders, dan geschreven regels en wetten opzoeken
in een wetboek.
col-dejong schreef op maandag 02 april 2012 @ 19:17:
[...]

Om eventjes dit opnieuw aan te halen, waarschijnlijk heb je totaal geen moeite ondernomen om het te testen.
Op mijn systeem werkt dit perfect.
Als ik kijk naar jouw reactie:

[...]

een font extensie is bijv. "ttf" niet "tff"

Het script is bedoelt als voorbeeld en kan worden gebruikt door er verder op door te bouwen.
Het is een simpele maar heel snelle oplossing om iets na te kijken.

//edit

Ook ik kan Google gebruiken en de moeite doen om andermans werk te gebruiken:
http://www.cloudtec.ch/bl...ine-script-windows-7.html
Nogmaals net zoals Question Mark aangeeft, Gathering of Tweakers is er om elkaar te helpen, en elkaars kennis te delen. Het afschrijven van elkaars kennis lijkt me nou niet de bedoeling ...
Pagina: 1