Spouštění programů pod doménovým účtem z ne-doménového počítače
Nainstaloval jsem si pod VirtualBoxem Windows Server 2008 Standard v Core edici, nainstaloval přes ocsetup roli DNS server, vytvořil si textový soubor s unattended instrukcemi pro dcpromo, rebootoval, vše OK. No jo, jenže jak se teď připojit k DNS serveru a zkontrolovat obsah zóny, když mám notebook zapojený do pracovní domény, která s tou virtuální nemá pranic společného? Stará dobrá finta “net use \\server\ipc$ /user:domain\user” fungovala dobře na WNT4, částečně na W2000/W2003, ale na W2008 se už moc nechytá. RUNAS.EXE či Run as administrator (případně v kombinaci se SHIFT klávesou Run as different user) také nezabíral. Existovala samozřejmě jednoduchá pomoc – ve virtuálu rozjet management stanici, kterou bych zapojil do virtuální domény. Nechci si však užírat výkon notebooku během dalšího virtuálního počítače, takže nedá se přeci jen nějak zařídit připojení z RSAT utilit na fyzickém notebooku? Odpověď zní – jde a to překvapivě jednoduše. Uvedený postup funguje NEJEN z ne-doménového počítače, ale dokonce i z počítače, který je členem jiné, netrustované domény.
Takhle vypadal pokus o spuštění DNS Managera k virtuálním Active Directory některým z výše zmíněných postupů.
Bylo mi jasné, že nemůžu být jediný, kdo se trápí s obdobným problémem, takže jsem začal hledat – a našel. Popisovaný případ se týkal konzultanta, jehož notebook byl členem pracovní skupiny a on s ním potřeboval pracovat v doménovém prostředí svých zákazníků.
Celé kouzlo spočívá v použití parametru /netonly příkazu runas.exe. Program je na notebooku spuštěn pod účtem zalogovaného uživatele a doménové jméno uvedené v /user parametru je použito pouze pro síťový přístup.
V mém případě, kdy jsem chtěl spustit DNS Manager tak, aby s ním bylo možné spravovat virtuální DNS server, bylo na notebooku s Windows 7 potřeba:
- spustit Command Prompt přes Run as administrator
- v příkazové řádce zadat:
runas /netonly /user:test\administrator "%SystemRoot%\system32\mmc.exe %SystemRoot%\system32\dnsmgmt.msc /s"
Enter the password for test\administrator:
Attempting to start C:\Windows\system32\mmc.exe C:\Windows\system32\dnsmgmt.msc /s as user "test\administrator" ... - v DNS Manageru se připojit ke vzdálenému DNS serveru
Připojení z Active Directory Users and Computers probíhá obdobně:
runas /netonly /user:test\administrator "%SystemRoot%\system32\mmc.exe %SystemRoot%\system32\dsa.msc /s"
Zde je krapet zrada v tom, že je nutné odklepnout chybovou hlášku a zvolit přesně doménový řadič.
Konstrukce těch příkazů je docela příšerná, takže se nabízí otázka, zdali by nebylo lepší spustit mmc.exe a zde si pak přidávat či odebírat snap-in moduly dle potřeby. Dobrá zpráva, u některých snap-inů to jde.
runas /netonly /user:test\administrator %SystemRoot%\system32\mmc.exe
Vzpomněl jsem si, že tento problém jsme řešili již na podzim roku 2007, kdy jsme po přechodu z WXP na Vista ztratili možnost z Vist administrovat SQL Server 2005 umístěný v jiné doméně. Řešením byl taktéž příkaz runas /netonly – více zde.