TÓPICO
    about_methods

DESCRIÇÃO RESUMIDA
    Descreve como usar os métodos para executar ações nos objetos no 
    Windows PowerShell.
 

DESCRIÇÃO LONGA
    O Windows PowerShell usa coleções estruturadas de informações, chamada 
    objetos, para representar os itens nos repositórios de dados ou o 
    estado do computador. Por exemplo, quando você acessa um arquivo no 
    Windows PowerShell, você não está trabalhando com o arquivo real. Em 
    vez disso, você está trabalhando com um objeto FileInfo, um tipo de 
    objeto que age como o proxy do arquivo.


    A maioria dos objetos inclui métodos. Um método é um conjunto de 
    instruções que especificam uma ação específica que pode ser 
    executada com esse objeto. Por exemplo, o objeto FileInfo inclui 
    um método chamado CopyTo, que permite copiar o arquivo 
    representado pelo objeto.


    Para exibir uma lista de métodos e definições de métodos 
    associadas a um objeto particular, você pode usar o cmdlet 
    Get-Member. Entretanto, para usar o cmdlet, o objeto já deve 
    existir de alguma forma, como representado por uma variável, como 
    um objeto criado quando você especifica um comando como um 
    argumento para o comando Get-Member ou como um objeto transmitido 
    pelo pipeline. Por exemplo, suponha que tenha sido atribuído um 
    valor de cadeia de caracteres à variável $a, o que significa que 
    a variável está associada a um objeto de cadeia de caracteres. 
    Para exibir uma lista de métodos de objeto, digite o seguinte 
    comando no prompt de comando do Windows PowerShell:


        Get-Member -inputobject $a -membertype method


    Se você quiser ver que métodos e definições de métodos estão 
    associados a um objeto que é transmitido pelo pipeline, use um 
    comando Get-Member no pipeline, conforme mostrado no exemplo a seguir:


        Get-ChildItem c:\final.txt | Get-Member -membertype method


    O modo mais comum de chamar um método é especificar o nome do 
    método depois de uma referência de objeto (como uma variável ou 
    expressão). É necessário separar a referência do objeto e o 
    método com um ponto. Além disso, você deve usar parênteses 
    imediatamente depois do nome do método para agrupar qualquer 
    argumento que deve ser transmitido para o método. 


    Mesmo que nenhum argumento seja passado em uma assinatura de 
    método, será necessário usar um conjunto de parênteses vazios.


    Por exemplo, o comando a seguir usa o método GetType para 
    retornar o tipo de dados associado ao objeto da cadeia de 
    caracteres $a:


        $a.GetType()


    O método GetType retornará o tipo de dados para qualquer objeto e uma 
    variável sempre representa um objeto. O tipo de objeto depende do 
    tipo de dados armazenado nessa variável.


    Cada ação realizada no Windows PowerShell é associada a objetos, 
    independentemente de estar declarando uma variável ou combinando 
    comandos em um pipeline.
    Como resultado, os métodos podem ser usados em diversas 
    situações. Por exemplo, é possível usar um método para executar 
    uma ação em um valor de propriedade, como mostrado no comando abaixo:


        (Get-ChildItem c:\final.txt).name.ToUpper()


    Nesse caso, o objeto no qual o método ToUpper está sendo chamado 
    é o objeto da cadeia de caracteres associado à propriedade de 
    nome. (Observe que o arquivo Final.txt deve existir na raiz da 
    unidade C: para que esse exemplo funcione.) A propriedade de nome 
    é realmente uma propriedade do objeto FileInfo retornado pelo 
    comando Get-ChildItem. Isso demonstra não apenas a natureza 
    orientada a objetos do Windows PowerShell, mas também mostra como 
    os métodos podem ser chamados em qualquer objeto acessível.


    Você pode obter os mesmos resultados apresentados no último 
    exemplo, utilizando uma variável para armazenar a saída do 
    comando Get-ChildItem, como mostrado no exemplo a seguir:


        $a = (Get-ChildItem c:\final.txt).name
        $a.ToUpper()


    O comando usa novamente o método ToUpper do objeto da cadeia de 
    caracteres associado à variável, que contém o nome do arquivo 
    retornado pelo comando Get-ChildItem.


    Em alguns casos, um método necessita de um argumento para 
    direcionar a sua ação. Por exemplo, o objeto FileInfo inclui o 
    método MoveTo, que fornece uma forma de mover um arquivo de um 
    local para outro. O método requer um argumento que especifique o 
    local de destino para o arquivo. O seguinte comando demonstra 
    como incluir esse argumento:


        (Get-ChildItem c:\final.txt).MoveTo("c:\techdocs\final.txt")


    O comando Get-ChildItem retorna um objeto FileInfo para o arquivo 
    Final.txt e, em seguida, utiliza o método MoveTo daquele objeto 
    para iniciar a ação e especificar o novo local do arquivo.


    Para determinar os argumentos associados a um método, revise a 
    definição do método correspondente. Uma definição de método 
    contém uma ou mais assinaturas de método (também conhecidas como 
    sobrecargas no Microsoft .NET Framework). Uma assinatura de 
    método contém o nome de um método e zero ou mais parâmetros que 
    você deve fornecer quando chamar o método. Cada assinatura de 
    método é separada da assinatura anterior com uma vírgula na 
    exibição do cmdlet Get-Member. Por exemplo, o método CopyTo da 
    classe FileInfo contém estas duas assinaturas de método:


        1. CopyTo(String destFileName)
        2. CopyTo(String destFileName, Boolean overwrite)


    A primeira assinatura de método pega o nome do arquivo de destino 
    (incluindo o caminho) no qual copiar o arquivo de origem. No 
    exemplo a seguir, o primeiro método CopyTo é usado para copiar 
    Final.txt para o diretório C:\Bin:


        (Get-ChildItem c:\final.txt).CopyTo("c:\bin\final.txt")


    Se o arquivo já existir no local de destino, o método CopyTo 
    falhará e o Windows PowerShell reportará o seguinte erro:


        Exceção ao chamar "CopyTo" com "1" argumento(s): "O arquivo 
        'c:\bin\final.txt' já existe.".


    Na segunda assinatura do método, você transmite o nome do arquivo 
    de destino como você fez no primeiro caso, mas você também pode 
    transmitir um valor Booleano para especificar se deseja ou não 
    que um arquivo existente com o mesmo nome no local de destino 
    seja sobrescrito, conforme mostra o exemplo a seguir:


        (Get-ChildItem c:\final.txt).CopyTo("c:\bin\final.txt", $true)


    Quando você transmite o valor Booleano, deve usar a variável 
    $True, que é criada automaticamente pelo Windows PowerShell. A 
    variável $True contém o valor Booleano "true". (Como você deve 
    saber, a variável $False contém o valor Booleano "false".)


CONSULTE TAMBÉM
    about_Objects
    Get-Member





Sumário