Da ich ein Anfänger im Bereich der Powershell bin, bitte ich um Hilfe bei der Lösung meines Problems.
Ziel der ganzen Sache ist eine Automation mithilfe von Powershell und geplanten Task, so dass Clientcomputer im Unternehmen zu einer bestimmten Zeit gestartet und dann auch wieder heruntergefahren werden. Für den Virenscan wurden ansonsten alle Computer angelassen, jedoch ist dies unpraktisch und wenn vergessen wird den PC nicht Auszuschalten dann wurde auch nicht gescannt.
Plan: Ein Script liest aus dem AD die Computer einer bestimmten Gruppe aus und führt für jeden den GetMac Befehl aus. Der Computername ist dabei der Name der Textdatei, mit Inhalt der Macadresse. Für jeden Computer einzeln gespeichert.
Nun hab ich aber das Problem, dass es in der normalen Powershell funkioniert die Mac per
getmac /S "Servername" /U domäne\admin /P passwort
abzurufen.
Im Script auf dem AD-Domänencontroller jedoch nicht.
import-module activedirectory $i = 0; $maccomputer = Get-ADGroupMember DomänenComputer | select-object Name foreach ($adgroupmember in $maccomputer) { $inhaltmac = Get-Content \\XXXX\XXXX\IT\Intern\maclist\"$adgroupmember".txt #$pcname = gc env:computername $mac = getmac /S "$adgroupmember" /U XXX\XXXX /P XXXXX | %{ $i +=1; if($_ -match "([^ ]+)"){ if($i -gt 3){ $matches[1] | ? {$_ -ne "nicht"} } } } if ($inhaltmac -ne $mac) { $mac | out-file \\XXXXX\XXXXX\IT\Intern\maclist\"$adgroupmember".txt -Force } }