스택 오버플로 및 인터넷에 관한 많은 스크립트 질문이있는 솔루션을 찾으려고 최선을 다했지만 필요한 솔루션을 찾을 수없는 것 같습니다.OS X에서 관리자 권한으로 스크립트 실행하기
내가하고 싶은 일은 시스템에서 모든 모바일 캐시 된 사용자 계정을 제거하는 자동화 된 적은 클릭 솔루션을 만드는 것입니다. 로그인하고 수동으로 사용자 계정으로 이동하여 "-"버튼을 클릭 한 다음 사용자 데이터에 대해 "즉시 삭제"를 클릭하여 한 번에 하나씩 사용자를 제거합니다. 이 방법은 효과가 있지만 시간이 많이 걸리고 시간이 더 걸립니다. 그래서 저는 스크립트로 이것을 할 수있는 방법이 있어야한다는 것을 알고있었습니다.
는이 코드를 통해 실행 :이 터미널에서 실행하는 경우for cuser in `dscl . -list /Users AuthenticationAuthority | grep LocalCachedUser | awk '{print $1}' | tr '/n' ' '`; do
dscl . -delete /Users/$cuser
done
내가 권한 오류를 얻을. 그래서 sudo로 실행해야한다고 생각했습니다. 그래서 스크립트를 실행하기 위해 AppleScript를 만드는 방법을 살펴 보았지만 올바른 방법을 찾지 못했습니다.
아이디어가 있으십니까? 그건 그렇고, 맥에서 스크립팅하는 것이 처음이에요. 코드를 주석으로 작성하여 무슨 일이 일어 났는지 알기 바랍니다. 그래서 스크립트 코드가 무엇을 할 지 몰라서 실행하지 않습니다. :)
감사
사과 스크립트에서 실행 해 보았습니다 만, 지금은 "delete : Invalid Path"라는 전체 묶음을 얻습니다. 삭제하려고하는 각 사용자마다 있다고 가정합니다. AppleScript 파일이 바탕 화면에 있습니다. 다른 곳이 필요합니까? delete 명령에 더 유효한 경로를 제공해야합니까? – ScottN
터미널에서 list 명령을 실행하는 명령에서 "tr"/ n '' ' "명령을 제거한 사용자가 매우 이상하게 인쇄되었습니다. 하지만 지금은 또 다른 문제가 있습니다. AppleScript를 처음 실행했을 때 오류가 발생하지 않았을 때, 나는 그것이 효과가 있다고 가정했습니다. 시스템 환경 설정에서 계정 목록을 확인하면 여전히 사용자가 나열되므로 삭제로 인해 시스템에서 사용자 계정이 완전히 제거되지는 않습니다. 그러나 list 명령을 다시 실행하면 터미널 창에 사용자가 인쇄되지 않으므로 이제 스크립트를 실행할 필요가 없습니다. 지금 내가 뭘 잘못하고 있니? "dscl. -delete"명령이 GUI와 동일한 기능을 수행합니까? – ScottN
좋아, 그들은 시스템을 재부팅 할 때까지 시스템 환경 설정에 여전히 나타나고 있었다. 그런 다음 더 이상 존재하지 않았다. 수동으로 사용자 폴더를 제거해야했습니다. 하지만 몇 번의 클릭만으로 충분합니다. 나는 이것에 만족할지도 모른다. 동시에 사용자 폴더를 제거하는 것이 좋습니다. – ScottN