PowerShell y objetos COM

No siempre PowerShell nos resuelve el problema , esta en pleno crecimiento. Un truquito que podemos utilizar , sin abusar mucho , es utilizar los objeto COM que hemos utilizado VBS o WSH. En este caso será el objeto WScript.Network

[box type=»info»] He localizado este blog en el que el autor ha realizdo el ejerciciod e reconvertir scripts tipos de VSH a el nuevo PowerShell Blog Pauerschell

[/box]

 

            
    Param(            
        [string]$Drive,            
        [string]$Unc            
        )            
    $net = New-Object -com WScript.Network            
    if ($Drive.length -eq 1) { $Drive = $Drive +':' }            
    "$Drive $UNC"            
    $net.mapnetworkdrive($Drive, $Unc)            
    # ToDo -- currently I don#t need it            
    #$net.mapnetworkdrive($Drive+ ':',$Unc, $bProfile, $User, $password)            
}            

function Get-NetworkDrives            
{            

    $mappedDrives = @{}            
    $net = New-Object -com WScript.Network             
    $a = $net.EnumNetworkDrives()            
    $anz = $a.count()            

    for ($i = 0; $i -lt $anz; $i = $i + 2)            
    {            
        $drive = $a.item($i)            
        $path = $a.item($i+1)            
        $mappedDrives[$drive] = $path            
    }            
    $mappedDrives            
}            

function Remove-NetworkDrive($Drive)            
{            

    $net = New-Object -com WScript.Network            
    if ($Drive.length -eq 1) { $Drive += ':' }            
    $net.removenetworkdrive($Drive)            
}

 

También indico las fuentes originales:

Logon_MapNetworkDrive.htm
LogonScript_enumnetworkdrives.htm#EnumNetworkDrives_Syntax
Powershell index.htm
Blogs technet, hey scripting Guy

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.