Powershell - parâmetro do comando externo não aceito

3

Isso parece um problema simples, mas não consigo corrigi-lo

Execução do comando dfsutil no resultado de devoluções do shell

C:\Windows\system32>dfsutil link "\server.domain.com\DFSRootname\Sharename"

Link Name="Sharename" State="OK" Timeout="1800" Target="\server1\sharename" State="ONLINE" [Site: site1] Target="\server2\sharename" State="OFFLINE" [Site: site2]

Done processing this command.

Tentando fazer o mesmo no powershell


PS>
$path = "\server.domain.com\DFSRootname\Sharename"
$dfsutil = "dfsutil"
$option = "link"

PS C:\Windows\system32> dfsutil link $path

DFS Utility Version 5.2 (built on 5.2.3790.3959)
Copyright (c) Microsoft Corporation.  All rights reserved.

Unrecognized option "ink"

O mesmo que usar Invoke-Expression

PS C:\Windows\system32> Invoke-Expression "$dfsutil $option $path"

DFS Utility Version 5.2 (built on 5.2.3790.3959)
Copyright (c) Microsoft Corporation. All rights reserved.

Unrecognized option "ink"


    
por Sergei 13.06.2013 / 12:56

2 respostas

3

A sintaxe a seguir funciona para mim no PS v2 / v3. Estou precedendo o comando com o & operador de chamada :

$path = "\ad.example.org\root\share"
$dfsutil = "dfsutil"
$option = "link"

& $dfsutil $option $path

Link Name="share" State="OK" Timeout="1800"
Target="\fs1.example.org\share" State="ONLINE"  [Site: default-site]

Done processing this command.
    
por 13.06.2013 / 13:09
0

Parece um problema de instalação com a minha instalação do Windows 7 PS3. O comando funciona bem no host do Windows 2008 R2 com o PS2

    
por 13.06.2013 / 15:11