ZufallsGenerator.psm1
$script:vornamenGeschlechter = @( @{Vorname="Anita"; Geschlecht="Weiblich"}, @{Vorname="Maria"; Geschlecht="Weiblich"}, @{Vorname="Anna"; Geschlecht="Weiblich"}, @{Vorname="Ursula"; Geschlecht="Weiblich"}, @{Vorname="Ruth"; Geschlecht="Weiblich"}, @{Vorname="Elisabeth"; Geschlecht="Weiblich"}, @{Vorname="Sandra"; Geschlecht="Weiblich"}, @{Vorname="Monika"; Geschlecht="Weiblich"}, @{Vorname="Claudia"; Geschlecht="Weiblich"}, @{Vorname="Verena"; Geschlecht="Weiblich"}, @{Vorname="Nicole"; Geschlecht="Weiblich"}, @{Vorname="Anne"; Geschlecht="Weiblich"}, @{Vorname="Barbara"; Geschlecht="Weiblich"}, @{Vorname="Silvia"; Geschlecht="Weiblich"}, @{Vorname="Andrea"; Geschlecht="Weiblich"}, @{Vorname="Michaela"; Geschlecht="Weiblich"}, @{Vorname="Heike"; Geschlecht="Weiblich"}, @{Vorname="Susanne"; Geschlecht="Weiblich"}, @{Vorname="Melanie"; Geschlecht="Weiblich"}, @{Vorname="Marie"; Geschlecht="Weiblich"}, @{Vorname="Daniela"; Geschlecht="Weiblich"}, @{Vorname="Christine"; Geschlecht="Weiblich"}, @{Vorname="Karin"; Geschlecht="Weiblich"}, @{Vorname="Marianne"; Geschlecht="Weiblich"}, @{Vorname="Erika"; Geschlecht="Weiblich"}, @{Vorname="Margrit"; Geschlecht="Weiblich"}, @{Vorname="Daniel"; Geschlecht="Maennlich"}, @{Vorname="Peter"; Geschlecht="Maennlich"}, @{Vorname="Andreas"; Geschlecht="Maennlich"}, @{Vorname="Michael"; Geschlecht="Maennlich"}, @{Vorname="Marco"; Geschlecht="Maennlich"}, @{Vorname="Markus"; Geschlecht="Maennlich"}, @{Vorname="Martin"; Geschlecht="Maennlich"}, @{Vorname="Patrick"; Geschlecht="Maennlich"}, @{Vorname="David"; Geschlecht="Maennlich"}, @{Vorname="Walter"; Geschlecht="Maennlich"}, @{Vorname="Bruno"; Geschlecht="Maennlich"}, @{Vorname="Urs"; Geschlecht="Maennlich"}, @{Vorname="René"; Geschlecht="Maennlich"}, @{Vorname="Marcel"; Geschlecht="Maennlich"}, @{Vorname="Roland"; Geschlecht="Maennlich"}, @{Vorname="Werner"; Geschlecht="Maennlich"}, @{Vorname="Herbert"; Geschlecht="Maennlich"}, @{Vorname="Stefan"; Geschlecht="Maennlich"}, @{Vorname="Leonardo"; Geschlecht="Maennlich"}, @{Vorname="Hans"; Geschlecht="Maennlich"}, @{Vorname="Christian"; Geschlecht="Maennlich"}, @{Vorname="Thomas"; Geschlecht="Maennlich"} ) $script:nachnamen = @("Müller", "Meier", "Schmid", "Keller", "Weber", "Huber", "Schneider", "Meyer", "Steiner", "Fischer", "Gerber", "Brunner", "Baumann", "Frei", "Zimmermann", "Moser", "Widmer", "Wyss", "Graf", "Roth", "Aebischer", "Rochat", "Jeanneret", "Favre", "Aubry", "Kälin", "Bernasconi", "Hefti", "Werlen") $script:korrespondenzsprachen = @("de", "fr", "it", "en") $script:strassen = @("Alpenstrasse", "Jungfrauweg", "Gartenweg", "Fabrikstrasse", "Uferweg", "Distelweg", "Laupenstrasse", "Seestrasse", "Bernstrasse", "Finkenweg", "Bahnhofstrasse", "Europaplatz", "Chemin de la Forêt", "Avenue de Tivoli", "Rue des Banques", "Zentralplatz", "Via Henri Guisan") $script:plzOrte = @( @{ Plz = 1001; Ort = "Lausanne" }, @{ Plz = 1024; Ort = "Ecublens VD" }, @{ Plz = 1110; Ort = "Morges" }, @{ Plz = 1180; Ort = "Rolle" }, @{ Plz = 1207; Ort = "Genève" }, @{ Plz = 1260; Ort = "Nyon" }, @{ Plz = 1700; Ort = "Fribourg" }, @{ Plz = 2000; Ort = "Neuchâtel" }, @{ Plz = 2300; Ort = "La Chaux-de-Fonds" }, @{ Plz = 2500; Ort = "Biel/Bienne" }, @{ Plz = 2814; Ort = "Roggenburg" }, @{ Plz = 3012; Ort = "Bern" }, @{ Plz = 3123; Ort = "Belp" }, @{ Plz = 3254; Ort = "Messen" }, @{ Plz = 3400; Ort = "Burgdorf" }, @{ Plz = 3619; Ort = "Eriz" }, @{ Plz = 3825; Ort = "Mürren" }, @{ Plz = 3930; Ort = "Visp" }, @{ Plz = 4001; Ort = "Basel" }, @{ Plz = 4247; Ort = "Grindel" }, @{ Plz = 4494; Ort = "Oltingen" }, @{ Plz = 4663; Ort = "Aarburg" }, @{ Plz = 5246; Ort = "Scherz" }, @{ Plz = 5727; Ort = "Oberkulm" }, @{ Plz = 6003; Ort = "Luzern" }, @{ Plz = 6210; Ort = "Sursee" }, @{ Plz = 6390; Ort = "Engelberg" }, @{ Plz = 6500; Ort = "Bellinzona" }, @{ Plz = 6656; Ort = "Golino" }, @{ Plz = 7050; Ort = "Arosa" }, @{ Plz = 7233; Ort = "Jenaz" }, @{ Plz = 7535; Ort = "Valchava" }, @{ Plz = 8004; Ort = "Zürich" }, @{ Plz = 8192; Ort = "Zweidlen" }, @{ Plz = 8409; Ort = "Winterthur" }, @{ Plz = 8554; Ort = "Bonau" }, @{ Plz = 8645; Ort = "Jona" }, @{ Plz = 8866; Ort = "Ziegelbrücke" }, @{ Plz = 9050; Ort = "Appenzell" }, @{ Plz = 9410; Ort = "Heiden" }, @{ Plz = 9612; Ort = "Dreien" }, @{ Plz = 9658; Ort = "Wildhaus" } ) function New-RandomPerson { param ( [Parameter(HelpMessage = "Anzahl zu erstellende Personen")] $Anzahl, [Parameter(HelpMessage = "Sicherheitsgrupe, in der die Person angelegt werden soll")] $Sicherheitsgruppe, [Parameter(HelpMessage = "E-Mail-Adresse, welche den Personen zugewiesen werden soll")] $EmailAdresse ) process { if ($Anzahl -lt 1) { $Anzahl = 1 } if (-not $Sicherheitsgruppe) { $Sicherheitsgruppe = "WEEDU_SCHULUNG" } if (-not $EmailAdresse) { $EmailAdresse = "weiterleitung.test-weedu@didacware.ch" } $LocalRandomRunKey = Get-Random -Minimum 1000000000 -Maximum 1999999999 $erstelltePersonen = @() for ($personNr = 1; $personNr -le $Anzahl; $personNr++) { $personUid = "!RandomSchulung!$RandomRunKey-$LocalRandomRunKey!Person$personNr" $vornameGeschlecht = Get-Random $vornamenGeschlechter $name = Get-Random $nachnamen $plzOrt = Get-Random $plzOrte $kommMittel = @( (New-PostAdresse-Object -Kategorie Privat -Land CH -Strasse (Get-Random $strassen) -Hausnummer (Get-Random -Minimum 1 -Maximum 130) -PLZ $plzOrt.Plz -Ort $plzOrt.Ort), (New-Kommunikationsmittel-Object -Kategorie Privat -Type "EMailAdresse" -Adresse $EmailAdresse) ) $newPersonResult = New-Einzelperson -PersonUid $personUid -Geschlecht $vornameGeschlecht.Geschlecht -Vorname $vornameGeschlecht.Vorname -Name $name -Korrespondenzsprache (Get-Random $korrespondenzsprachen) -KommunikationsmittelListe $kommMittel -SicherheitsEinstellung (New-Sicherheitseinstellung-Object $Sicherheitsgruppe) $bezeichnung = "$($vornameGeschlecht.Vorname) $name aus $($plzOrt.Ort)"; $erstelltePersonen += [PSCustomObject]@{ Bezeichnung = $bezeichnung; Link = "<a href=""https://schulung-de.weedu.ch/person/person/Detail/$personUid"">$bezeichnung</a>" Vorname = $vornameGeschlecht.Vorname; Name = $name; Ort = $plzOrt.Ort; Uid = ConvertTo-WeeduGuid $personUid } } return $erstelltePersonen } } Export-ModuleMember -function New-RandomPerson |