Jump to content

if-else mit Net use Combi in Powershell


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

Geschrieben

Hallo zusammen,

 

ich hoffe ich werde hier jetzt nicht gesteinigt, aber ich muss zu meiner Schande gestehen, dass ich als FiSi mit PowerShell absolut nichts am Hut habe :(

weshalb ich mir bei meiner aktuell Problematik relativ schwer tue...

 

Ich möchte per Powershell-Script erreichen, dass auf einem PC oder Notebook das entsprechende Hardwaremodell erkannt bzw. ausgelesen wird und dann dem Ergebnis entsprechend ein Netzlaufwerk verbunden wird.

 

folgendes habe ich mir dazu bereits zusammen gestückelt:

 

# Informationen über die Computerhardware auslesen
Get-WmiObject Win32_ComputerSystemProduct | Select-Object Name

# entsprechendes Netzlaufwerk verbinden
if (Name ist 'PC1')
{$net = new-object -ComObject WScript.Network
$net.MapNetworkDrive("u:", "\\server\freigabe-pc1", $false, "user", "password")}

[elseif (Name ist 'PC2')
{$net = new-object -ComObject WScript.Network
$net.MapNetworkDrive("u:", "\\server\freigabe-pc2", $false, "user", "password")}

[elseif (Name ist 'PC3')
{$net = new-object -ComObject WScript.Network
$net.MapNetworkDrive("u:", "\\server\freigabe-pc3", $false, "user", "password")}

[else
{Write-Host "Fehler"] 

 

mit "Get-WmiObject Win32_ComputerSystemProduct | Select-Object Name" lese ich die entsprechende Hardwareinformation aus, welche ich dann in der if-else Schleife als Argument nutzen möchte um dann das entsprechende Netzlaufwerk zu verbinden.

 

Hier bräuchte ich bitte hilfe, weil ich keine Ahnung habe, wie ich die Ausgabe aus der Hardwareabfrage z.B. in eine Avriable packe, die ich dann für die if-else Abfrage nutzen kann :confused:

 

 

Besten Dank für Eure Hilfe!!

Geschrieben

Hallo,

 

So in etwa müsste es funktionieren

 

$ComputerName = (Get-WmiObject Win32_ComputerSystemProduct).PSComputername
#oder einfacher
$ComputerName=(get-childitem env:computername).Value

$net = new-object -ComObject WScript.Network
switch($ComputerName)
 {
   PC1 {$net.MapNetworkDrive("u:", "\\server\freigabe-pc1", $false, "user", "password")
     }
   PC2 {$net.MapNetworkDrive("u:", "\\server\freigabe-pc2", $false, "user", "password") 
     }
   PC3 {$net.MapNetworkDrive("u:", "\\server\freigabe-pc3", $false, "user", "password") 
     }

   }

 

und zum Nachlesen

 

about_Automatic_Variables

about_Switch

 

Passwörter haben in Skripten aber nichts verloren.

 

blub

Geschrieben

$ComputerModell = Get-WmiObject Win32_ComputerSystemProduct | Select-Object Name

 

switch ($ComputerModell.Name.Trim()){

"Latitude D620" {"Es wurde ein Dell Latitude D620 erkannt. Hier den Code zu verbinden des Laufwerks einfügen"}

default {"keins erkannt"}

}

Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde dich hier an.

Jetzt anmelden
×
×
  • Neu erstellen...