51 lines
1.5 KiB
Bash
Executable File
51 lines
1.5 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
##########################################################################
|
|
# Shellscript : Script benennt User um (Personalnummer)
|
|
# Autor : Jobst Heinermann, macenterprise gmbh
|
|
# Copyright : macenterprise 2019
|
|
##########################################################################
|
|
|
|
#function
|
|
askolddir () {
|
|
osascript <<EOF - 2>/dev/null
|
|
set strPath to POSIX file "/Users/"
|
|
set f to (choose folder with prompt "$1" default location strPath)
|
|
set posixF to POSIX path of f
|
|
tell application "Finder" to set filesDir to container of f as alias as text
|
|
set posixDir to POSIX path of filesDir
|
|
posixF
|
|
|
|
EOF
|
|
}
|
|
asknewdir () {
|
|
osascript <<EOF - 2>/dev/null
|
|
tell application "SystemUIServer"
|
|
activate
|
|
text returned of (display dialog "$1" default answer "")
|
|
end tell
|
|
EOF
|
|
}
|
|
|
|
#Variabeln
|
|
# Abfrage der Userinfos
|
|
PDIR=$(askolddir 'Bitte User auswählen') || exit #Pfad zum aktuellen Homefolder
|
|
UDIR=$(echo $PDIR | sed 's/.$//') #Breiningung des Pfad
|
|
ONAME=$(echo $UDIR | cut -d'/' -f3-) #Separierung des aktuellen Username
|
|
NDIR=$(asknewdir 'Bitte Personalnummer eingeben') || exit #legt neuen User & Pfadnamen fest
|
|
|
|
#User umbenennen
|
|
dscl . change /Users/"$ONAME" RecordName "$ONAME" "$NDIR"
|
|
|
|
#Userfolder Link anlegen
|
|
ln -s /Users/"$ONAME" /Users/"$NDIR"
|
|
|
|
#Userfolder "verstecken"
|
|
chflags hidden "$PDIR"
|
|
|
|
# Meldung
|
|
osascript -e 'tell application "SystemUIServer" to display dialog "Benutzername wurde erfolgreich geändert!" buttons {"OK"} default button "OK"'
|
|
|
|
|
|
exit 0
|