2013-07-08 130 views
1

我無法將cmds從powershell 2.0發送到cmd中的netsh。powershell解析cmd中的特殊字符

的奇怪的事情是,有一種類型的命令來NETSH它的工作原理

實例 - 這個工程:

$input1 = @" 
netsh wlan connect name=Aaknet ssid=Aaknet interface="Trådløs netværksforbindelse" 
"@ 
$OutputVariable = ($WifiOn | netsh) | Out-String 

netsh的運行命令沒有任何問題沉綿接口名稱包含字符å

但是,如果我運行這個 - Powershell解析å作爲?於Netsh CMD

$ConnectMBN = @" 

netsh mbn connect interface="Mobilbredbåndsforbindelse" connmode=name name=3 

"@ 

$ConnectMBN | netsh 

PWS回報控制檯:

netsh>netsh>Decommand not found: netsh mbn connect interface="Mobilbredb?ndsforbindelse" connmode=name name=3. 

正如你可以看到PWS轉動阿成?

任何人都可以幫忙,因爲我很困惑!?

回答

0

根據評論中的對話框進行更新。

下面的代碼是一個編輯,你的編輯,我的建議:-)

$Char =[Char]34 
    $Name ="Mobilbredbåndsforbindelse" 
    $Interface ="$Char$Name$Char" 
    $Name2="3" 
    $Opts = @("mbn","connect","interface=$Interface","connmode=name","name=$Name2"); 
    netsh $Opts 

所以,把參數netsh到數組$Opts,使用[char]34表示中唯一一個雙引號需要它的參數,接口。

在數組項中使用雙引號而不是單引號表示其中的任何變量都被擴展,因此它們的內容是參數數組的一部分。

最後直接調用netsh,就像在命令行中一樣,然後是參數數組$Opts

正如我所說,我沒有移動寬帶,所以我得到約wwansvc沒有運行錯誤,但如果我進入$Opts事後查看我看到的內容:

mbn 
connect 
interface="Mobilbredbåndsforbindelse" 
connmode=name 
name=3 

編輯:試試這個(已使用netsh的嘗試WLAN連接,我可以用測試,因爲我無法測試MBN)...

$Char =[Char]34 
    $Name ="Mobilbredbåndsforbindelse" 
    $Interface ="$Char$Name$Char" 
    $Name2="3" 
    $connect = ("netsh mbn connect interface=$Interface connmode=name name=$Name2"); 
    $connect 
+0

對不起,在$ ConnectMBN netsh一個錯字 - 但我仍然得到一個丹麥版本的Windows7的問題,只要我把$ ConnectMBN管netsh - pws將「Mobilbredbåndsforbindelse」更改爲「Mobilbredb ?ndsforbindelse「 - 並且netsh返回CMD找不到(因爲它找不到具有該名稱的NIC)如果我不管它並且只觸發$ ConnectMBN,則輸出(在屏幕上)是正確的,但NIC不會連接我只是沒有得到它..幫助只是嘮叨,注意到我只在客戶端上運行PWS v1.0 - 這可能是問題嗎 – user2560013

+0

因爲我不用英文以外的語言運行Windows,有點難以測試,但嘗試以下列方式運行netsh:'$ Opts = @('mbn','connect','interface =「Mobilbredbåndsforbindelse」','connmode = name','name = 3'); netsh的$ Opts' –

+0

格雷厄姆嗨 - 你試過例如用$ OPTS - 仍然沒有運氣 – user2560013

1

找到了原因 - 我的域管理員已經重定向我HOMESHARE%%,至networkdrive - 這resultet中的所有錯誤導致PWS庫侖dn't發現在netsh上的共享

我這樣做,而不是: $ AakHotWifiOn = @」

wlan connect name="AAKHotspot" ssid="AAKHotspot" interface="Trådløs netværksforbindelse" 

    "@ 

Invoke-WmiMethod -ComputerName . -Path win32_process -Name create -ArgumentList "netsh $AakHotWifiOn" 

同樣的方法使用netsh MBN cinnect問題

感謝合作,格雷厄姆所有輸入:)

+1

很高興你已經接近它的底部,很高興我能以某種方式提供幫助:-) –