通过终端设置 OS X WiFi?

Bri*_*ian 9 terminal mac-osx

我管理着一大群 mac,它们都通过以太网连接。我想禁用它们的 wifi,然后要求管理员更改任何 wifi 设置(几乎如下图所示) 在此处输入图片说明 由于我管理了这么多,我想通过远程桌面管理器推出设置。这些设置有命令行吗?我知道关闭 wifi 是networksetup -setairportpower en1 off但我似乎无法找到需要管理员权限的设置。

Joe*_*oll 8

解决方案在于不太知名的命令行工具airport

这是在/usr/sbinSnow Leopard 之前发现的(因此可能已经在您的 PATH 中),

对于较新的操作系统,可以在 /System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources

在这种情况下,您要发出的命令如下:

sudo airport en1 prefs RequireAdmin=YES
Run Code Online (Sandbox Code Playgroud)

手册页实际上是空的,并且发出airport --help实际上比发出不带任何参数的命令给你的使用信息更少。后者给出如下解释:

Usage: airport <interface> <verb> <options>

  <interface>
  If an interface is not specified, airport will use the first AirPort interface on the system.

  <verb is one of the following:
  prefs   If specified with no key value pairs, displays a subset of AirPort preferences for
      the specified interface.

      Preferences may be configured using key=value syntax. Keys and possible values are specified below.
      Boolean settings may be configured using 'YES' and 'NO'.

      DisconnectOnLogout (Boolean)
      JoinMode (String)
          Automatic
          Preferred
          Ranked
          Recent
          Strongest
      JoinModeFallback (String)
          Prompt
          JoinOpen
          KeepLooking
          DoNothing
      RememberRecentNetworks (Boolean)
      RequireAdmin (Boolean)
      RequireAdminIBSS (Boolean)
      RequireAdminNetworkChange (Boolean)
      RequireAdminPowerToggle (Boolean)
      WoWEnabled (Boolean)

  logger  Monitor the driver's logging facility.

  sniff   If a channel number is specified, airportd will attempt to configure the interface
      to use that channel before it begins sniffing 802.11 frames. Captures files are saved to /tmp.
      Requires super user privileges.

  debug   Enable debug logging. A debug log setting may be enabled by prefixing it with a '+', and disabled
      by prefixing it with a '-'.

      AirPort Userland Debug Flags
          DriverDiscovery
          DriverEvent
          Info
          SystemConfiguration
          UserEvent
          PreferredNetworks
          AutoJoin
          IPC
          Scan
          802.1x
          Assoc
          Keychain
          RSNAuth
          WoW
          P2P
          Roam
          BTCoex
          AllUserland - Enable/Disable all userland debug flags

      AirPort Driver Common Flags
          DriverInfo
          DriverError
          DriverWPA
          DriverScan
          AllDriver - Enable/Disable all driver debug flags

      AirPort Driver Vendor Flags
          VendorAssoc
          VendorConnection
          AllVendor - Enable/Disable all vendor debug flags

      AirPort Global Flags
          LogFile - Save all AirPort logs to /var/log/wifi.log

<options> is one of the following:
  No options currently defined.

Examples:

Configuring preferences (requires admin privileges)
  sudo airport en1 prefs JoinMode=Preferred RememberRecentNetworks=NO RequireAdmin=YES

Sniffing on channel 1:
  airport en1 sniff 1


LEGACY COMMANDS:
Supported arguments:
 -c[<arg>] --channel=[<arg>]    Set arbitrary channel on the card
 -z        --disassociate       Disassociate from any network
 -I        --getinfo            Print current wireless status, e.g. signal info, BSSID, port type etc.
 -s[<arg>] --scan=[<arg>]       Perform a wireless broadcast scan.
                 Will perform a directed scan if the optional <arg> is provided
 -x        --xml                Print info as XML
 -P        --psk                Create PSK from specified pass phrase and SSID.
                 The following additional arguments must be specified with this command:
                                  --password=<arg>  Specify a WPA password
                                  --ssid=<arg>      Specify SSID when creating a PSK
 -h        --help               Show this help
Run Code Online (Sandbox Code Playgroud)