欢迎各位兄弟 发布技术文章
这里的技术是共享的
我自己亲自做的,,,,我的思路是下面的第三种方法 使用 printenv 命令 打印现环境变量
jamf 上面的策略会 运行脚本,,,, 在脚本里面判断 这个策略是不是 从 self service 上 点击运行的
在 Jamf 中,如果你想判断脚本是否是通过 Self Service 点击运行的,可以使用以下方法:
检查脚本参数: 在脚本中,可以检查传递给脚本的参数。Jamf 在从 Self Service 运行策略时,通常会传递特定的参数。
使用环境变量: 你可以检查某些环境变量,以确定脚本的运行上下文。
以下是一个简单的示例脚本,展示如何检查脚本是否从 Self Service 运行:
在这个示例中,$4
是传递给脚本的第四个参数,通常可以用来判断是否是从 Self Service 运行。你可以根据具体情况调整参数的索引。
你可以在 Jamf Pro 的策略中配置脚本参数,确保在从 Self Service 运行时传递正确的值。
通过检查脚本的参数或环境变量,你可以轻松判断脚本是通过 Self Service 运行的。这种方法可以帮助你在不同的上下文中执行不同的逻辑。
但是 我点击 self service 时,,里面的 $4 的值一直为空
如果在 Jamf 的脚本中 $4
的值为空,可能是因为通过 Self Service 运行时没有传递预期的参数。以下是一些可以尝试的方法来判断脚本是否是从 Self Service 运行的:
jamf
命令可以通过调用 jamf
命令来检查当前的运行上下文。以下是一个示例:
Self Service 运行的脚本通常会在系统日志中记录相关信息。你可以检查日志文件,判断脚本的执行来源:
有些情况下,可以通过环境变量来判断脚本的执行环境。你可以打印所有环境变量,看看是否有可以用来判断的变量:
由于 $4
为空,建议使用 jamf
命令或检查系统日志来判断脚本是否是通过 Self Service 运行的。这些方法可以帮助你更可靠地获取运行上下文。
把 printenv 赋给一个变量,,然后 通过 osascript display dialog 输出
要将 printenv
的输出赋给一个变量,并通过 osascript
使用 display dialog
输出,可以使用以下的 Bash 脚本示例:
printenv
:此命令用于显示当前环境变量。
env_vars=$(printenv)
:将 printenv
的输出保存到 env_vars
变量中。
osascript -e "display dialog \"$env_vars\""
:使用 AppleScript 的 display dialog
命令显示变量内容。
确保在 macOS 的终端中运行此脚本。