2010-06-02 59 views
0

我試圖寫一個腳本,將重命名的計算機,並將其加入到域,並計劃在netdom.exe打電話做骯髒工作。但是,試圖在腳本中運行此實用程序(irb中的結果相同)完全沒有任何作用。沒有輸出,沒有執行。我試着用反引號和system()方法。除了系統(「netdom」)(它返回true)之外,System()對所有內容都返回false。反引號從不返回任何內容,但空字符串。試圖從一個Ruby腳本執行netdom.exe或IRB什麼也不做

我已經驗證netdom運行並在腳本將運行的環境中工作,並且我正在調用腳本中工作的其他命令行實用程序(w32tm,getmac,ping)。

這裏是一個被執行的確切行:

`netdom renamecomputer %COMPUTERNAME% /NewName:#{newname} /force` 

僅供參考,這是由於Windows 7 64位系統

+0

您是否嘗試過%x {command}語法? – Roadmaster 2010-06-02 23:24:50

+0

是的,試過%x [netdom] - 仍然沒有輸出或執行。儘管如此,還是有好的想法..我忘了執行其他任何方式? – Joraff 2010-06-02 23:35:54

回答

0

可能是你應該以實際的計算機名稱替代%COMPUTERNAME%?

+0

%COMPUTERNAME%應該回顯當前的計算機名稱。它在命令行中,所以我認爲它也會在子shell中這樣做。 我只是測試這個,但是,用計算機的當前名稱替換變量,它仍然沒有執行。 我認爲問題不在於語法,而在於讓netdom運行。也許netdom依賴的東西不在ruby子shell中使用的路徑中?我真的不知道... – Joraff 2010-06-02 23:29:50