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

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!!

Link zu diesem Kommentar

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

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

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...