사용자가 로그온할 때 실행할 작은 스크립트를 작성하려고 합니다. 스크립트를 검색하여 작동하게 했지만 .plist로 로그온할 때 실행할 수 없습니다.
활성 디렉터리 설정이 있습니다. 사용자가 자격 증명을 사용하여 로그인하면 스크립트가 실행된 후 수동으로 작동합니다.
tell application "finder"
set MyName to do shell script "whoami"
mount volume "smb://server/folder/" & MyName
end tell
또는
set MyName to do shell script "whoami"
mount volume "smb://server/folder/" & MyName
.scpt로 저장하면 둘 다 수동으로 작동합니다.
아니면 이런 식으로 사용해야 해요
tell application "Terminal"
set MyName to do shell script "whoami"
mount volume "smb://server/folder/" & MyName
end tell
.sh로 저장하세요
이제 plist는 다음 위치에 저장됩니다 /Library/LaunchAgents
.
<plist version="1.0">
<dict>
<key>RunAtLoad</key>
<true/>
<key>KeepAlive</key>
<true/>
<key>Label</key>
<string>com.script</string>
<key>ProgramArguments</key>
<array>
<string>/Users/Shared/SCRIPT.sh</string>
</array>
</dict>
</plist>
그리고 다음 명령을 수행하십시오
launchctl load /Library/LaunchAgents/com.script.plist
작동하지 않습니다. 로그온 중에 드라이브를 자동 마운트할 수 없습니다.
도와주세요. 저는 프로그래머가 아니므로 구체적으로 말씀해 주십시오.
고마워요, 크리스
답변1
귀하의 스크립트는 쉘 스크립트가 아닌 AppleScript이므로 직접 실행할 수 없습니다. 나는 명령이 그것을 해석하도록 하는 것이 효과가 있을 것이라고 생각합니다 ossascript
.
<array>
<string>/usr/bin/osascript</string>
<string>/Users/Shared/SCRIPT.sh</string>
</array>
(& ".sh"보다 더 적절한 파일 확장자를 사용하십시오)
KeepAlive
그런데, 나는 당신 이 로 설정하기를 원한다고 확신합니다 <false/>
. 로 설정하면 <true/>
스크립트가 한 번이 아니라 지속적으로 다시 실행됩니다.