Mijn vraag
Ik heb hier een 15 tal pc's waar men via RDP op wil kunnen inloggen wanneer 1 van de gebruikers afwezig is, en er dingen geregeld moet worden. Hiervoor wou ik een script maken en tot dus ver werkt die prima. Nadeel is steeds weer handmatig user naam intypen / kopieren. Ik dacht dat kan anders maar dat viel even tegen.
Ik ben geen exper in Powershell maar weet me vaak wel te redden. Maar nu heb ik jullie hulp dus nodig
.
Relevante software en hardware die ik gebruik
Powershell, Computers hangen niet in een domein en de gebruikers werken dus lokaal op de pc.
Wat ik al gevonden of geprobeerd heb
Met deze code kan ik dus netjes een rijtje met lokale gebruikers maken. Liefste zou ik gewoon een optie menu hebben.
Zodoende kan je dan bijvoorbeeld 3 opgeven zodat je geen typos in de gebruikersnaam maakt. Maar dat lukt me niet. Heb wat geprutst met arrays maar daar loop ik dus vast. Mischien is er hier iemand die mij de juiste richting op kan sturen.
Hieronder de volledige powershell code dus ik nu heb.
Ik heb hier een 15 tal pc's waar men via RDP op wil kunnen inloggen wanneer 1 van de gebruikers afwezig is, en er dingen geregeld moet worden. Hiervoor wou ik een script maken en tot dus ver werkt die prima. Nadeel is steeds weer handmatig user naam intypen / kopieren. Ik dacht dat kan anders maar dat viel even tegen.
Ik ben geen exper in Powershell maar weet me vaak wel te redden. Maar nu heb ik jullie hulp dus nodig
Relevante software en hardware die ik gebruik
Powershell, Computers hangen niet in een domein en de gebruikers werken dus lokaal op de pc.
Wat ik al gevonden of geprobeerd heb
code:
1
2
3
4
| foreach ($i in Get-WmiObject -Class Win32_UserAccount -filter 'LocalAccount=true' | Select name) { echo $i.name } |
Met deze code kan ik dus netjes een rijtje met lokale gebruikers maken. Liefste zou ik gewoon een optie menu hebben.
code:
1
2
3
4
5
| 1 - User1 2 - User2 3 - User3 Geef nummer user: |
Zodoende kan je dan bijvoorbeeld 3 opgeven zodat je geen typos in de gebruikersnaam maakt. Maar dat lukt me niet. Heb wat geprutst met arrays maar daar loop ik dus vast. Mischien is er hier iemand die mij de juiste richting op kan sturen.
Hieronder de volledige powershell code dus ik nu heb.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
| echo " " echo "=================== Remote desktop script ==================" echo "= " echo "= Dit scripts pas de volgende items aan op deze pc/laptop " echo "= " echo "= * Remote desktop aanzetten. " echo "= * Windows defender firewall instellen. " echo "= * Gebruiker rechten geven voor RDP. " echo "= * Administrator rechten geven voor RDP. " echo "= * Administartor account aanmaken. " echo "= " echo "============================================================" echo " " $Continue = Read-Host "Remote desktop instellen ? (Y/N)" while("Y","N" -notcontains $Continue){$Continue = Read-Host "Remote desktop instellen ? (Y/N)"} if ($Continue -eq "Y") { ### # - Lokale gebruikers ophalen en weergeven. ### echo "" #voor overzicht foreach ($i in Get-WmiObject -Class Win32_UserAccount -filter 'LocalAccount=true' | Select name) { echo $i.name } echo "" #voor overzicht $naam = Read-Host -Prompt "Voer gebruikersnaam in" ### # - Indien de taal van de pc niet nederlands is dan gaan we er vanuit dat hij als engels is geinstalleerd. ### $taal = GET-WinSystemLocale | Select name if($taal = "nl-NL") { $netFirewallRule = "Extern bureaublad" $Group = "Externe bureaubladgebruikers" } else #taal is waarschijnlijk Engels. { $netFirewallRule = "Remote Desktop" $Group = "Remote Desktop Users" } ### # - Remote dekstop aanzetten in windows register ### Set-ItemProperty -Path 'HKLM:\System\CurrentControlSet\Control\Terminal Server' -name "fDenyTSConnections" -value 0 -Whatif ### # - Firewall rule aanmaken ### Enable-NetFirewallRule -DisplayGroup "$netFirewallRule" -Whatif ### # - User + Administrator toevoegen aan remote dekstop user groep ### Add-LocalGroupMember -Group "$Group" -Member $naam -Whatif Add-LocalGroupMember -Group "$Group" -Member Administrator -Whatif } |