Вам просто нужно переместить объявление своего контроллера из вашего метода. Попробуйте вот так:
let aboutController = AboutController(windowNibName: "About")
let preferencesController = PreferencesController(windowNibName: "Preferences")
func showAbout(sender: AnyObject) {
println("showing about window")
aboutController.showWindow(aboutController.aboutWindow)
}
func showPreferences(sender: AnyObject) {
println("showing preferences window")
preferencesController.showWindow(preferencesController.preferencesWindow)
}
Программа командной строки netdom.exe может использоваться. Это доступно от Инструментов Поддержки Windows XP или Сервера 2 003 Инструмента Поддержки (оба на установочном CD).
инструкции по Использованию здесь
Я не знаю о команде, чтобы сделать это, но Вы могли сделать это в VBScript или чем-то подобном. Somthing как:
sNewName = "put new name here"
Set oShell = CreateObject ("WSCript.shell" )
sCCS = "HKLM\SYSTEM\CurrentControlSet\"
sTcpipParamsRegPath = sCCS & "Services\Tcpip\Parameters\"
sCompNameRegPath = sCCS & "Control\ComputerName\"
With oShell
.RegDelete sTcpipParamsRegPath & "Hostname"
.RegDelete sTcpipParamsRegPath & "NV Hostname"
.RegWrite sCompNameRegPath & "ComputerName\ComputerName", sNewName
.RegWrite sCompNameRegPath & "ActiveComputerName\ComputerName", sNewName
.RegWrite sTcpipParamsRegPath & "Hostname", sNewName
.RegWrite sTcpipParamsRegPath & "NV Hostname", sNewName
End With ' oShell
MsgBox "Computer name changed, please reboot your computer"
Вот другой способ сделать его со сценарием WHS:
Set objWMIService = GetObject("Winmgmts:root\cimv2")
For Each objComputer in _
objWMIService.InstancesOf("Win32_ComputerSystem")
objComputer.rename "NewComputerName", NULL, NULL
Next