complex
Goto Top

Powershell - übergabe von Variablen

Moin zusammen!

ich habe ein kleines Problem mit der Übergabe von Variablen (Achtung bin Powershell-Neuling)
Ich möchte eine Read-Host Abfrage machen, die den Admin auffordert, den Benutzernamen eines AD-Accounts einzugeben.
Und diese Variable soll dann in einen zu löschenden Pfad eingetragen werden.

Beispiel:
Read Host Eingabe: muffT

$user = muffT

am Ende soll dann in etwa so was bei rauskommen:

remove-item \\cifs\homes\"+$user+"\

allerdings übergibt die Abfrage die variable leider nicht. Google gab mir zu verstehen, dass die variable auch erst umgewandelt werden muss - und genau da komme ich nicht weiter und würde mich um Hilfe sehr freuen face-smile


Grüße,
Complex

Content-ID: 250648

Url: https://administrator.de/contentid/250648

Ausgedruckt am: 25.11.2024 um 07:11 Uhr

colinardo
colinardo 01.10.2014 aktualisiert um 08:37:08 Uhr
Goto Top
Moin Complex,
machst du so:
$user = Read-Host 'Eingabe'  
$path = '\\cifs\homes\' + $user  
if (Test-Path $path){
  remove-item $path -Force -Recurse
}else{
  write-Host 'Pfad existiert nicht!' -ForegroundColor Red  
}
Grüße Uwe
complex
complex 01.10.2014 um 09:09:41 Uhr
Goto Top
Vielen Dank face-smile
habe kurz vor dem Lesen deiner Lösung auch einen weg gefunden:

 
$script:user = ""  

function userabfrage {
   $script:user = Read-Host "Windowsanmeldename eingeben"  
}

#Funktion aufrufen
userabfrage

#Variablen ausgeben
write-host $script:user
complex
complex 01.10.2014 um 09:11:31 Uhr
Goto Top
Aber trotzdem vielen Dank für deine Lösung face-smile
colinardo
colinardo 01.10.2014 um 09:19:01 Uhr
Goto Top
das du das meinst, hat meine Glaskugel leider nicht sehen können face-wink
Nächstes mal bitte mit mehr Kontext. Merci.
complex
complex 01.10.2014, aktualisiert am 07.10.2014 um 09:35:08 Uhr
Goto Top
Ok ich versuchs mal mit mehr Kontext face-smile

ich stehe vor dem nächsten Problem:
oben als variable definierter User soll nun ebenfalls in der AD gesucht werden und in eine andere Gruppe verschoben werden.

Import-Module ActiveDirectory
($user = Read-Host "Eingabe") <- Nur zu testzwecken (Userabfrage befindet sich ja bereits weiter oben im Script)  
Get-ADUser -Filter { userlogonname -Like $user }
$ZielOU = "HR_canceled_users"  
Move-ADObject -Identity $User -TargetPath "ou="+$ZielOU+",DC=**,DC=***"  

tut leider nicht face-sad
was mache ich falsch?
colinardo
Lösung colinardo 01.10.2014 aktualisiert um 10:26:03 Uhr
Goto Top
was mache ich falsch?
du weist der Ausgabe von Get-AdUser ja überhaupt keiner Variablen zu !
$objUser = Get-ADUser -Filter {SamAccountName -eq $user} 
$ZielOU = "HR_canceled_users"   
Move-ADObject -Identity $objUser -TargetPath "ou=$ZielOU,DC=hk,DC=com"  
Grüße Uwe
complex
complex 01.10.2014 um 10:25:48 Uhr
Goto Top
*kopf->tisch* Danke face-smile

Großen Respekt vor deinem Shell-Künsten!


Vielen Dank!