- soundproof
- Medlem ●
- Helsingborg
Hejsan,
jag håller på att göra en liten inventering på våra maskiner och skrev ett litet shellscript som listade allt som jag hade i min Applications mapp, bara väldigt basic.
ls /Applications
men så slog det mig att det finns ju faktiskt system profiler i macen där allt står.
jag fick ut informationen till XML och den filen är ju jätte kul att leka med, speciellt om man har bra kunskaper i applescipt och xml.
jag har googlat runt världen för att hitta något sett att få ut informationen som jag vill ha och hittat lite små grejjer som kan funka men inget klockrent.
det jag vill göra är att ta informationen på clienten och skicka det till ett excel ark eller liknande för att kunna se hur mycket av varje jag har installerat.
men min kunskap räcker inte så långt så jag kan klara det, så min fråga till er är om det är någon som har någon ide på vad man kan göra på ngt lätt sett eller om det finns något bra inventerings system för mac.
tack på förhand
Det finns program som
JAMF Software: Client Management Software for Macintosh Professionals
men det är mera för skolor, stora företag.
Det du skriver kan du ju skicka ut det kommandot med Remote Desktop
och få alla klienters programmappar.
Problemet med att inventera program är att man vill ha med licensnr
och vad jag vet är det ingen programvara som klarar av att inventera detta.
Det finns program som
JAMF Software: Client Management Software for Macintosh Professionals
men det är mera för skolor, stora företag.
Det du skriver kan du ju skicka ut det kommandot med Remote Desktop
och få alla klienters programmappar.
Problemet med att inventera program är att man vill ha med licensnr
och vad jag vet är det ingen programvara som klarar av att inventera detta.
ja jag har kollat på Jamfs lösningar, och jag har 400 datorera att inventera bara det att jag fick reda på detta lite sent och ska vara klar om 3 veckor så jag försökte hitta en lösning som kan göra det så länge. jag körde
whoami och ls /Applications
i remote desktop men mitt problem är att få ut en bra sökbar lista på dom olika programmen. jag drog in det i excel men det blir fel i tabellerna så jag kan inte sortera ut det till någon vettig data.
tack för ditt svar.
Såhär:
Datornmn
Användare
Program
Adobe Acrobat 8 Professional
Adobe Bridge CS3
Adobe Device Central CS3
Adobe Help Viewer 1.0.app
Adobe Help Viewer 1.1.app
Adobe Illustrator CS
Adobe Illustrator CS3
Adobe Photoshop CS
Adobe Photoshop CS3
Adobe Reader 9
nu greppa jag bara adobe produkter, men det hade varit nice att kunna ta allt och filtrera ut det man ville ha och se antal påträffade.
posta nu inte datafilen rätt ut här. Din arbetsgivare blir nog inte glad om hela arbetsplatsens maskiner ligger ute till allmänt beskådande
haha ne jag tänkte det också men tack endå :D. lätt man glömmer:D
Jag kan snabbt hjälpa dig med kod för ett applescript. Det kanske du kan köra över Remote Desktop?
Det kollar programfiler i programmappen och en nivå ner, det fångar alltså /Applications/Adobe Bridge/Bridge.app.
Vill du ha en helt rekursiv genomsökning tar det (mig) längre tid att få ihop det.
set myAppsInFolders to {} tell application "Finder" set myDisk to name of startup disk set myAppFolder to folder (myDisk & ":Applications") set myApps to displayed name of application files of myAppFolder set mySubFolders to folders of myAppFolder repeat with I from 1 to (count mySubFolders) set end of myAppsInFolders to displayed name of application files of item I of mySubFolders end repeat set myAllApps to myApps & myAppsInFolders tell me to set text item delimiters to " " set myAppsNames to myApps as string tell me to set text item delimiters to " " set myComputer to (computer name of (system info)) set myInventory to myComputer & " " & myApps set myLognameDialog to text returned of (display dialog "Vad ska loggfilen heta?" default answer "Apps_in_" & myComputer) set myLogFile to (((choose folder with prompt "Peka ut var du vill spara filen " & myLognameDialog) as string) & myLognameDialog & ".txt") as file specification try open for access myLogFile with write permission set eof of myLogFile to 0 write myInventory to myLogFile starting at eof --as list close access myLogFile on error try close access myLogFile end try end try end tell
Nu är det för att visa funktionaliteten gjort med dialoger för vad loggfilen ska heta och var den ska sparas, men det kan man ju förstås skriva bort.
Jag kan snabbt hjälpa dig med kod för ett applescript. Det kanske du kan köra över Remote Desktop?
Det kollar programfiler i programmappen och en nivå ner, det fångar alltså /Applications/Adobe Bridge/Bridge.app.
Vill du ha en helt rekursiv genomsökning tar det (mig) längre tid att få ihop det.
set myAppsInFolders to {} tell application "Finder" set myDisk to name of startup disk set myAppFolder to folder (myDisk & ":Applications") set myApps to displayed name of application files of myAppFolder set mySubFolders to folders of myAppFolder repeat with I from 1 to (count mySubFolders) set end of myAppsInFolders to displayed name of application files of item I of mySubFolders end repeat set myAllApps to myApps & myAppsInFolders tell me to set text item delimiters to " " set myAppsNames to myApps as string tell me to set text item delimiters to "" set myComputer to (computer name of (system info)) set myInventory to myComputer & " " & myApps set myLognameDialog to text returned of (display dialog "Vad ska loggfilen heta?" default answer "Apps_in_" & myComputer) set myLogFile to (((choose folder with prompt "Peka ut var du vill spara filen " & myLognameDialog) as string) & myLognameDialog & ".txt") as file specification try open for access myLogFile with write permission set eof of myLogFile to 0 write myInventory to myLogFile starting at eof --as list close access myLogFile on error try close access myLogFile end try end try end tell
Nu är det för att visa funktionaliteten gjort med dialoger för vad loggfilen ska heta och var den ska sparas, men det kan man ju förstås skriva bort.
tack,
jag testade att köra det men får
error "Kan inte ändra \"Macintosh HD:Users:konto:Desktop:test.txt\" till typ file specification." number -1700 from "Macintosh HD:Users:konto:Desktop:test.txt" to file specification
testade ändra det till as alias men då hittar den ju inte filen eftersom den inte är skapad.
aah, det kan det va, jag kör 10.6
Testa detta då:
set myAppsInFolders to {} tell application "Finder" set myDisk to name of startup disk set myAppFolder to folder (myDisk & ":Applications") set myApps to displayed name of application files of myAppFolder set mySubFolders to folders of myAppFolder repeat with I from 1 to (count mySubFolders) set end of myAppsInFolders to displayed name of application files of item I of mySubFolders end repeat set myAllApps to myApps & myAppsInFolders tell me to set text item delimiters to " " set myAppsNames to myAllApps as string -- myApps ändrat till myAllApps tell me to set text item delimiters to "" set myComputer to (computer name of (system info)) set myInventory to myComputer & " " & myApps set myLognameDialog to text returned of (display dialog "Vad ska loggfilen heta?" default answer "Apps_in_" & myComputer) set myLogFile to (((choose folder with prompt "Peka ut var du vill spara filen " & myLognameDialog) as string) & myLognameDialog & ".txt") as string end tell try set myLogFileRef to (open for access file myLogFile with write permission) write myInventory & return to myLogFileRef starting at eof close access myLogFileRef on error try close access myLogFileRef end try end try
edit: ändrat bugg i koden kl 23.59
edit: jag flyttade den sista end tell-raden några rader upp i koden.
Nu fungerade det,
Tack så jätte mycket. Det enda problemet jag får är att när man tar in det i tex excel/numbers så kan man inte få det sorterat för att alla datorer inte har samma innehåll.
det kan se ut såhär
dator1 adobe PS Adobe IS Acrobat
Dator2 acrobat Chess etc
Du kanske kan ställa kolumnerna till fasta värden
program Photoshop Excel Word
Dator1 ------- Excel Word
Dator2 Photoshop ------ Word
Du har 400 burk och jag förmodar att du inte behöver ha kolumner bort till "texthanteraren" va :-)?
Det skiter sig rätt bra att formattera text på 99se, det blev inte snyggt.
Hoppas andemeningen gick fram ändå.
Du kanske kan ställa kolumnerna till fasta värden
program Photoshop Excel Word
Dator1 ------- Excel Word
Dator2 Photoshop ------ Word
Du har 400 burk och jag förmodar att du in te behöver ha kolumner bort till "texthanteraren" va :-)?
Ja jag kan testa att köra fasta värden, bra idé tack.. ne jag behöver inte ha bort till texthanteraren. så det är nog mer att man får sitta och mecka med datan till det kommer in på rätt plats.
men tack för din hjälp den har varit guld
Är det speciella program du letar efter är det bättre att leta efter dessa och logga om de finns eller inte finns. Nu tar du reda på alla program.
ja just nu är det adobe produkter jag letar efter så du har rätt, för annars kan man få en bra lång lista
Helt rätt Baron. man får en summa; 14 licenser Excel tack.
Med (avsevärt) mer meckande kan man även säga att "kerstins maskin" har de här programmen....
Nästa gång arbetsgivaren kommer med sådana här frågor kan man ju överträffa dem med råge
Min hjälp i det hela är liten, Baron skall däremot ha medalj för sitt engagemang.
Helt rätt Baron. man får en summa; 14 licenser Excel tack.
Med (avsevärt) mer meckande kan man även säga att "kerstins maskin" har de här programmen....
Nästa gång arbetsgivaren kommer med sådana här frågor kan man ju överträffa dem med råge
Min hjälp i det hela är liten, Baron skall däremot ha medalj för sitt engagemang.
Baron ska hyllas på offentlig plats
Med (avsevärt) mer meckande kan man även säga att "kerstins maskin" har de här programmen....
Just den infon får du med mitt skript ovan. Och det är inte så mycket mer meck, jag hinner bara inte göra det just nu...
Just den infon får du med mitt skript ovan. Och det är inte så mycket mer meck, jag hinner bara inte göra det just nu...
Förstår det. jag ville bara påtala för trådskaparen att om han tar all den infon du ordnar fram med scriptet och sedan bara summerar ihop så kastar man ju bort en himla massa data. Om man benar ut det lite i tabeller så har man ju ett underlag som heter duga och som är lättöverskådligt.
Detta letar efter vissa specifika program (Acrobat, InD, AI och PS). Installationen får heller inte avvika för mycket från standard, tex måste namnen på acrobatmapparna innehålla 7, 8 eller 9 och de andra CS2, CS3 eller CS4.
set myAcrobat7 to " -" set myAcrobat8 to " -" set myAcrobat9 to " -" set myAICS2 to " -" set myAICS3 to " -" set myAICS4 to " -" set myInDCS2 to " -" set myInDCS3 to " -" set myInDCS4 to " -" set myPSCS2 to " -" set myPSCS3 to " -" set myPSCS4 to " -" tell application "Finder" set myDisk to name of startup disk set myAppFolder to folder (myDisk & ":Applications") set mySubFolders to folders of myAppFolder repeat with I from 1 to (count mySubFolders) if displayed name of item I of mySubFolders contains "Acrobat" or displayed name of item I of mySubFolders contains "Illustrator" or displayed name of item I of mySubFolders contains "InDesign" or displayed name of item I of mySubFolders contains "Photoshop" then set myApps to application files of item I of mySubFolders repeat with R from 1 to count myApps set myApp to displayed name of item R of myApps set myAppContainer to displayed name of container of item R of myApps set myVersion to version of item R of myApps if myApp contains "Acrobat" and myAppContainer contains "7" then set myAcrobat7 to " X" else if myApp contains "Acrobat" and myAppContainer contains "8" then set myAcrobat8 to " X" else if myApp contains "Acrobat" and myAppContainer contains "9" then set myAcrobat9 to " X" else if myApp contains "Illustrator" and myAppContainer contains "CS2" then set myAICS2 to " X" else if myApp contains "Illustrator" and myAppContainer contains "CS3" then set myAICS3 to " X" else if myApp contains "Illustrator" and myAppContainer contains "CS4" then set myAICS4 to " X" else if myApp contains "InDesign" and myAppContainer contains "CS2" then set myInDCS2 to " X" else if myApp contains "InDesign" and myAppContainer contains "CS3" then set myInDCS3 to " X" else if myApp contains "InDesign" and myAppContainer contains "CS4" then set myInDCS4 to " X" else if myApp contains "Photoshop" and myAppContainer contains "CS2" then set myPSCS2 to " X" else if myApp contains "Photoshop" and myAppContainer contains "CS3" then set myPSCS3 to " X" else if myApp contains "Photoshop" and myAppContainer contains "CS4" then set myPSCS4 to " X" end if end repeat end if end repeat set myApps to myAcrobat7 & myAcrobat8 & myAcrobat9 & myAICS2 & myAICS3 & myAICS4 & myInDCS2 & myInDCS3 & myInDCS4 & myPSCS2 & myPSCS3 & myPSCS4 as string set myComputer to (computer name of (system info)) set myInventory to myComputer & myApps -- ta bort följande rad, den visar bara vad kolumnerna innehåller: set myInventory to "myComputer myAcrobat7 myAcrobat8 myAcrobat9 myAICS2 myAICS3 myAICS4 myInDCS2 myInDCS3 myInDCS4 myPSCS2 myPSCS3 myPSCS4" & return & myInventory set myLognameDialog to text returned of (display dialog "Vad ska loggfilen heta?" default answer "Apps_in_" & myComputer) set myLogFile to (((choose folder with prompt "Peka ut var du vill spara filen " & myLognameDialog) as string) & myLognameDialog & ".txt") as string end tell try set myLogFileRef to (open for access file myLogFile with write permission) set eof of myLogFileRef to 0 write myInventory & return to myLogFileRef starting at eof close access myLogFileRef on error try close access myLogFileRef end try end try
Kan inte låta bli att fippla...
Nu jagas Acrobat 7-9, InD -, PS - och AI CS2-4 i respektive mapp.
Dessutom letar det efter dessa program i andra mappar eller direkt i programmappen och redovisar alla förekomster av resp program i en accumulerande kolumn. Man kan alltså i Excel lägga ihop kolumn 3, 4 och 5 och subtrahera resultatet från värdet i kolumn 6. Detta ska bli 0. Om det blir mer än 0 finns det installationer av programmet som avviker från hur Adobes installerare gör.
Jag letar fortfarande inte efter fall där programfilerna heter något annat än de gör vid installation.
set myAcrobat7 to 0 set myAcrobat8 to 0 set myAcrobat9 to 0 set myAcrobatTotal to 0 set myAICS2 to 0 set myAICS3 to 0 set myAICS4 to 0 set myAITotal to 0 set myInDCS2 to 0 set myInDCS3 to 0 set myInDCS4 to 0 set myInDTotal to 0 set myPSCS2 to 0 set myPSCS3 to 0 set myPSCS4 to 0 set myPSTotal to 0 set myDate to current date set myShortDate to short date string of myDate set myTime to time string of myDate set myDate to myShortDate & ", " & myTime tell application "Finder" set myDisk to name of startup disk set myAppFolder to folder (myDisk & ":Applications") set myApps to application files of myAppFolder repeat with K from 1 to count myApps if displayed name of item K of myApps contains "Adobe Acrobat" then set myAcrobatTotal to myAcrobatTotal + 1 else if displayed name of item K of myApps contains "Adobe Illustrator CS" then set myAITotal to myAITotal + 1 else if displayed name of item K of myApps contains "Adobe inDesign CS" then set myInDTotal to myInDTotal + 1 else if displayed name of item K of myApps contains "Adobe Photoshop CS" then set myPSTotal to myPSTotal + 1 end if end repeat set mySubFolders to folders of myAppFolder repeat with I from 1 to (count mySubFolders) if displayed name of item I of mySubFolders contains "Acrobat" or displayed name of item I of mySubFolders contains "Illustrator" or displayed name of item I of mySubFolders contains "InDesign" or displayed name of item I of mySubFolders contains "Photoshop" then set myApps to application files of item I of mySubFolders repeat with R from 1 to count myApps set myApp to displayed name of item R of myApps set myAppContainer to displayed name of container of item R of myApps set myVersion to version of item R of myApps if myApp contains "Adobe Acrobat" and myAppContainer contains "7" then set myAcrobat7 to 1 set myAcrobatTotal to myAcrobatTotal + 1 else if myApp contains "Adobe Acrobat" and myAppContainer contains "8" then set myAcrobat8 to 1 set myAcrobatTotal to myAcrobatTotal + 1 else if myApp contains "Adobe Acrobat" and myAppContainer contains "9" then set myAcrobat9 to 1 set myAcrobatTotal to myAcrobatTotal + 1 else if myApp contains "Adobe Illustrator CS" and myAppContainer contains "CS2" then set myAICS2 to 1 set myAITotal to myAITotal + 1 else if myApp contains "Adobe Illustrator CS" and myAppContainer contains "CS3" then set myAICS3 to 1 set myAITotal to myAITotal + 1 else if myApp contains "Adobe Illustrator CS" and myAppContainer contains "CS4" then set myAICS4 to 1 set myAITotal to myAITotal + 1 else if myApp contains "Adobe inDesign CS" and myAppContainer contains "CS2" then set myInDCS2 to 1 set myInDTotal to myInDTotal + 1 else if myApp contains "Adobe inDesign CS" and myAppContainer contains "CS3" then set myInDCS3 to 1 set myInDTotal to myInDTotal + 1 else if myApp contains "Adobe inDesign CS" and myAppContainer contains "CS4" then set myInDCS4 to 1 set myInDTotal to myInDTotal + 1 else if myApp contains "Adobe Photoshop CS" and myAppContainer contains "CS2" then set myPSCS2 to 1 set myPSTotal to myPSTotal + 1 else if myApp contains "Adobe Photoshop CS" and myAppContainer contains "CS3" then set myPSCS3 to 1 set myPSTotal to myPSTotal + 1 else if myApp contains "Adobe Photoshop CS" and myAppContainer contains "CS4" then set myPSCS4 to 1 set myPSTotal to myPSTotal + 1 else if myApp contains "Adobe Acrobat" then set myAcrobatTotal to myAcrobatTotal + 1 else if myApp contains "Adobe Illustrator CS" then set myAITotal to myAITotal + 1 else if myApp contains "Adobe InDesign CS" then set myInDTotal to myInDTotal + 1 else if myApp contains "Adobe Photoshop CS" then set myPSTotal to myPSTotal + 1 end if end repeat end if end repeat -- tell me to set text item delimiters to " " set myApps to (myAcrobat7 & " " & myAcrobat8 & " " & myAcrobat9 & " " & myPSTotal & " " & myAICS2 & " " & myAICS3 & " " & myAICS4 & " " & myAITotal & " " & myInDCS2 & " " & myInDCS3 & " " & myInDCS4 & " " & myInDTotal & " " & myPSCS2 & " " & myPSCS3 & " " & myPSCS4 & " " & myPSTotal) as string set myComputer to (computer name of (system info)) set myInventory to myComputer & " " & myDate & " " & myApps -- ta bort följande rad, den visar bara vad kolumnerna innehåller: set myInventory to "myComputer myDate myAcrobat7 myAcrobat8 myAcrobat9 myAcrobatTotal myAICS2 myAICS3 myAICS4 myAITotal myInDCS2 myInDCS3 myInDCS4 myInDTotal myPSCS2 myPSCS3 myPSCS4 myPSTotal" & return & myInventory set myLognameDialog to text returned of (display dialog "Vad ska loggfilen heta?" default answer "Apps_in_" & myComputer) set myLogFile to (((choose folder with prompt "Peka ut var du vill spara filen " & myLognameDialog) as string) & myLognameDialog & ".txt") as string end tell try set myLogFileRef to (open for access file myLogFile with write permission) -- Ta bort kommenteringen på följande rad om du vill radera loggfilen varje gång du kör skriptet: -- set eof of myLogFileRef to 0 write myInventory & return to myLogFileRef starting at eof close access myLogFileRef on error try close access myLogFileRef end try end try
Kan inte låta bli att fippla...
Nu jagas Acrobat 7-9, InD -, PS - och AI CS2-4 i respektive mapp.
Dessutom letar det efter dessa program i andra mappar eller direkt i programmappen och redovisar alla förekomster av resp program i en accumulerande kolumn. Man kan alltså i Excel lägga ihop kolumn 3, 4 och 5 och subtrahera resultatet från värdet i kolumn 6. Detta ska bli 0. Om det blir mer än 0 finns det installationer av programmet som avviker från hur Adobes installerare gör.
Jag letar fortfarande inte efter fall där programfilerna heter något annat än de gör vid installation.
set myAcrobat7 to 0 set myAcrobat8 to 0 set myAcrobat9 to 0 set myAcrobatTotal to 0 set myAICS2 to 0 set myAICS3 to 0 set myAICS4 to 0 set myAITotal to 0 set myInDCS2 to 0 set myInDCS3 to 0 set myInDCS4 to 0 set myInDTotal to 0 set myPSCS2 to 0 set myPSCS3 to 0 set myPSCS4 to 0 set myPSTotal to 0 set myDate to current date set myShortDate to short date string of myDate set myTime to time string of myDate set myDate to myShortDate & ", " & myTime tell application "Finder" set myDisk to name of startup disk set myAppFolder to folder (myDisk & ":Applications") set myApps to application files of myAppFolder repeat with K from 1 to count myApps if displayed name of item K of myApps contains "Adobe Acrobat" then set myAcrobatTotal to myAcrobatTotal + 1 else if displayed name of item K of myApps contains "Adobe Illustrator CS" then set myAITotal to myAITotal + 1 else if displayed name of item K of myApps contains "Adobe inDesign CS" then set myInDTotal to myInDTotal + 1 else if displayed name of item K of myApps contains "Adobe Photoshop CS" then set myPSTotal to myPSTotal + 1 end if end repeat set mySubFolders to folders of myAppFolder repeat with I from 1 to (count mySubFolders) if displayed name of item I of mySubFolders contains "Acrobat" or displayed name of item I of mySubFolders contains "Illustrator" or displayed name of item I of mySubFolders contains "InDesign" or displayed name of item I of mySubFolders contains "Photoshop" then set myApps to application files of item I of mySubFolders repeat with R from 1 to count myApps set myApp to displayed name of item R of myApps set myAppContainer to displayed name of container of item R of myApps set myVersion to version of item R of myApps if myApp contains "Adobe Acrobat" and myAppContainer contains "7" then set myAcrobat7 to 1 set myAcrobatTotal to myAcrobatTotal + 1 else if myApp contains "Adobe Acrobat" and myAppContainer contains "8" then set myAcrobat8 to 1 set myAcrobatTotal to myAcrobatTotal + 1 else if myApp contains "Adobe Acrobat" and myAppContainer contains "9" then set myAcrobat9 to 1 set myAcrobatTotal to myAcrobatTotal + 1 else if myApp contains "Adobe Illustrator CS" and myAppContainer contains "CS2" then set myAICS2 to 1 set myAITotal to myAITotal + 1 else if myApp contains "Adobe Illustrator CS" and myAppContainer contains "CS3" then set myAICS3 to 1 set myAITotal to myAITotal + 1 else if myApp contains "Adobe Illustrator CS" and myAppContainer contains "CS4" then set myAICS4 to 1 set myAITotal to myAITotal + 1 else if myApp contains "Adobe inDesign CS" and myAppContainer contains "CS2" then set myInDCS2 to 1 set myInDTotal to myInDTotal + 1 else if myApp contains "Adobe inDesign CS" and myAppContainer contains "CS3" then set myInDCS3 to 1 set myInDTotal to myInDTotal + 1 else if myApp contains "Adobe inDesign CS" and myAppContainer contains "CS4" then set myInDCS4 to 1 set myInDTotal to myInDTotal + 1 else if myApp contains "Adobe Photoshop CS" and myAppContainer contains "CS2" then set myPSCS2 to 1 set myPSTotal to myPSTotal + 1 else if myApp contains "Adobe Photoshop CS" and myAppContainer contains "CS3" then set myPSCS3 to 1 set myPSTotal to myPSTotal + 1 else if myApp contains "Adobe Photoshop CS" and myAppContainer contains "CS4" then set myPSCS4 to 1 set myPSTotal to myPSTotal + 1 else if myApp contains "Adobe Acrobat" then set myAcrobatTotal to myAcrobatTotal + 1 else if myApp contains "Adobe Illustrator CS" then set myAITotal to myAITotal + 1 else if myApp contains "Adobe InDesign CS" then set myInDTotal to myInDTotal + 1 else if myApp contains "Adobe Photoshop CS" then set myPSTotal to myPSTotal + 1 end if end repeat end if end repeat -- tell me to set text item delimiters to " " set myApps to (myAcrobat7 & " " & myAcrobat8 & " " & myAcrobat9 & " " & myPSTotal & " " & myAICS2 & " " & myAICS3 & " " & myAICS4 & " " & myAITotal & " " & myInDCS2 & " " & myInDCS3 & " " & myInDCS4 & " " & myInDTotal & " " & myPSCS2 & " " & myPSCS3 & " " & myPSCS4 & " " & myPSTotal) as string set myComputer to (computer name of (system info)) set myInventory to myComputer & " " & myDate & " " & myApps -- ta bort följande rad, den visar bara vad kolumnerna innehåller: set myInventory to "myComputer myDate myAcrobat7 myAcrobat8 myAcrobat9 myAcrobatTotal myAICS2 myAICS3 myAICS4 myAITotal myInDCS2 myInDCS3 myInDCS4 myInDTotal myPSCS2 myPSCS3 myPSCS4 myPSTotal" & return & myInventory set myLognameDialog to text returned of (display dialog "Vad ska loggfilen heta?" default answer "Apps_in_" & myComputer) set myLogFile to (((choose folder with prompt "Peka ut var du vill spara filen " & myLognameDialog) as string) & myLognameDialog & ".txt") as string end tell try set myLogFileRef to (open for access file myLogFile with write permission) -- Ta bort kommenteringen på följande rad om du vill radera loggfilen varje gång du kör skriptet: -- set eof of myLogFileRef to 0 write myInventory & return to myLogFileRef starting at eof close access myLogFileRef on error try close access myLogFileRef end try end try
fan va snyggt. denna kan man ju ha som rapporterings verktyg. så att man ber den att lägga ut filen på en delad yta och låter något program plocka upp dom och sammanställer. nice tack.
Heh, kul att se hur man har utvecklats sedan set där skrevs...
jag hade gjort det bättre (snyggare) idag.
Ja det är alltid kul att se att det faktiskt har hänt något på ett par år oavsätt tack för hjälpen när det begav sig!
Hejsan,
jag håller på att göra en liten inventering på våra maskiner och skrev ett litet shellscript som listade allt som jag hade i min Applications mapp, bara väldigt basic.
ls /Applications
men så slog det mig att det finns ju faktiskt system profiler i macen där allt står.
jag fick ut informationen till XML och den filen är ju jätte kul att leka med, speciellt om man har bra kunskaper i applescipt och xml.
jag har googlat runt världen för att hitta något sett att få ut informationen som jag vill ha och hittat lite små grejjer som kan funka men inget klockrent.
det jag vill göra är att ta informationen på clienten och skicka det till ett excel ark eller liknande för att kunna se hur mycket av varje jag har installerat.
men min kunskap räcker inte så långt så jag kan klara det, så min fråga till er är om det är någon som har någon ide på vad man kan göra på ngt lätt sett eller om det finns något bra inventerings system för mac.
tack på förhand
Detta tar ut alla program som är installerade som ren text:
/usr/sbin/system_profiler SPApplicationsDataType > ~/Desktop/applist.txt
Vad man gör med det är väl en annan sak.