Aperture Script Memos
From Datateknik
(Difference between revisions)
Line 4: | Line 4: | ||
*Create a PowerShell script in the same location as the CSV file is located | *Create a PowerShell script in the same location as the CSV file is located | ||
*Use the following script | *Use the following script | ||
+ | <div class="toccolours mw-collapsible mw-collapsed"> | ||
+ | '''Run with PowerShell:''' | ||
+ | <div class="mw-collapsible-content"> | ||
<blockquote><code># Import Active Directory module and import CSV File to list<br>Import-Module Active Directory<br>$import_users = Import-Csv -Path .\Users.csv -Header "FirstName","LastName","Password" -Delimiter ";"<br># Start a loop and send each line of the CSV file to create a user<br> | <blockquote><code># Import Active Directory module and import CSV File to list<br>Import-Module Active Directory<br>$import_users = Import-Csv -Path .\Users.csv -Header "FirstName","LastName","Password" -Delimiter ";"<br># Start a loop and send each line of the CSV file to create a user<br> | ||
$import_users | ForEach-Object{<br> | $import_users | ForEach-Object{<br> | ||
Line 17: | Line 20: | ||
-Enabled $True `<br> | -Enabled $True `<br> | ||
} | } | ||
− | </code></blockquote> | + | </code></blockquote></div> |
+ | </div> | ||
<h2>Blocking open resolver and enabeling WSUS Service on Windows Server 2019 AD</h2> | <h2>Blocking open resolver and enabeling WSUS Service on Windows Server 2019 AD</h2> | ||
*Disable recursive queries | *Disable recursive queries | ||
*Use the following script | *Use the following script | ||
+ | <div class="toccolours mw-collapsible mw-collapsed"> | ||
+ | '''Run with PowerShell:''' | ||
+ | <div class="mw-collapsible-content"> | ||
<blockquote><code># Script for allowing internal hosts to send recursive queries to a public DNS server<br># Adding internal network IP addresses to the client subnet<br># Creating a scope to enable recursion and where to send queries<br># Creating policy for recursion matching client subnet and recursion scope<br>Add-DnsServerClientSubnet -Name InternalNetworkIP -IPv4Subnet 1.2.3.4 /n | <blockquote><code># Script for allowing internal hosts to send recursive queries to a public DNS server<br># Adding internal network IP addresses to the client subnet<br># Creating a scope to enable recursion and where to send queries<br># Creating policy for recursion matching client subnet and recursion scope<br>Add-DnsServerClientSubnet -Name InternalNetworkIP -IPv4Subnet 1.2.3.4 /n | ||
-IPv6Subnet aaa:bbbb:ccc::/64<br>Add-DnsServerRecursionScope -Name InternalRecursionScope -EnableRecursion $true | -IPv6Subnet aaa:bbbb:ccc::/64<br>Add-DnsServerRecursionScope -Name InternalRecursionScope -EnableRecursion $true | ||
-Forwarder 8.8.8.8, 2001:4860:4860::8888<br>Add-DnsServerQueryResolutionPolicy -Name InternalQueryPolicy -Action ALLOW -ApplyOnRecursion -ClientSubnet "EQ,InternalNetworkIP" -RecursionScope InternalRecursionScope<br># Confirm configuration by showing DNS recursion policy, DNS recursion scope, and our query policy.<br>Get-DnsServerClientSubnet<br>Get-DnsServerRecursion<br>Get-DnsServerRecursionScope<br>Get-DnsServerQueryResolutionPolicy | -Forwarder 8.8.8.8, 2001:4860:4860::8888<br>Add-DnsServerQueryResolutionPolicy -Name InternalQueryPolicy -Action ALLOW -ApplyOnRecursion -ClientSubnet "EQ,InternalNetworkIP" -RecursionScope InternalRecursionScope<br># Confirm configuration by showing DNS recursion policy, DNS recursion scope, and our query policy.<br>Get-DnsServerClientSubnet<br>Get-DnsServerRecursion<br>Get-DnsServerRecursionScope<br>Get-DnsServerQueryResolutionPolicy | ||
− | </code></blockquote> | + | </code></blockquote></div> |
+ | </div> | ||
<h2>Creating a CSV file with names</h2> | <h2>Creating a CSV file with names</h2> | ||
*Copy names from Canvas from People > Group > Group start page > Group People into TXT file with ISO 8859-4 encoding. | *Copy names from Canvas from People > Group > Group start page > Group People into TXT file with ISO 8859-4 encoding. | ||
*Run the following script. | *Run the following script. | ||
+ | <div class="toccolours mw-collapsible mw-collapsed"> | ||
+ | '''Run with Python 3.6 and higher:''' | ||
+ | <div class="mw-collapsible-content"> | ||
<blockquote><code># Python 3.8 Test script to extract student groups to CSV file to be opened with Excel. <br># Make sure Encoding is set to ISO 8859-4 for both this script and TXT file. | <blockquote><code># Python 3.8 Test script to extract student groups to CSV file to be opened with Excel. <br># Make sure Encoding is set to ISO 8859-4 for both this script and TXT file. | ||
<br>import sys | <br>import sys | ||
Line 43: | Line 54: | ||
CSVFile('Grupp 1;\n',FILENAME,GROUPFILENAME)<br> | CSVFile('Grupp 1;\n',FILENAME,GROUPFILENAME)<br> | ||
CSVFile('Grupp 2;\n',FILENAME2,GROUPFILENAME) | CSVFile('Grupp 2;\n',FILENAME2,GROUPFILENAME) | ||
− | </code></blockquote> | + | </code></blockquote></div> |
+ | </div> |
Revision as of 10:42, 22 October 2020
Creating users with CSV file on Windows Server 2019 AD
- Create the CSV file with ";" as delimiter
- Create an OU container in your Active Directory server and record the location
- Create a PowerShell script in the same location as the CSV file is located
- Use the following script
Run with PowerShell:
# Import Active Directory module and import CSV File to list
Import-Module Active Directory
$import_users = Import-Csv -Path .\Users.csv -Header "FirstName","LastName","Password" -Delimiter ";"
# Start a loop and send each line of the CSV file to create a user
$import_users | ForEach-Object{
New-ADUser `
-Name $($_.FirstName + " " + $_.Lastname) `
-GivenName $_.FirstName `
-SurName $_.LastName `
-DisplayName $($_.FirstName + " " + $_.Lastname) `
-SamAccountName $($_.FirstName.Substring(0,3).ToLower() + $_$.LastName.Substring(0,3).ToLower()) `
-UserPrincipalName $($_.FirstName.ToLower() + "." + $_.LastName.ToLower() + "@example.com") `
-AccountPassword $(ConvertTo-SecureString $_.Password -AsPlainText -Force)`
-Path "OU=ExampleUsers,DC=example,DC=com" `
-Enabled $True `
}
Blocking open resolver and enabeling WSUS Service on Windows Server 2019 AD
- Disable recursive queries
- Use the following script
Run with PowerShell:
# Script for allowing internal hosts to send recursive queries to a public DNS server
# Adding internal network IP addresses to the client subnet
# Creating a scope to enable recursion and where to send queries
# Creating policy for recursion matching client subnet and recursion scope
Add-DnsServerClientSubnet -Name InternalNetworkIP -IPv4Subnet 1.2.3.4 /n
-IPv6Subnet aaa:bbbb:ccc::/64
Add-DnsServerRecursionScope -Name InternalRecursionScope -EnableRecursion $true
-Forwarder 8.8.8.8, 2001:4860:4860::8888
Add-DnsServerQueryResolutionPolicy -Name InternalQueryPolicy -Action ALLOW -ApplyOnRecursion -ClientSubnet "EQ,InternalNetworkIP" -RecursionScope InternalRecursionScope
# Confirm configuration by showing DNS recursion policy, DNS recursion scope, and our query policy.
Get-DnsServerClientSubnet
Get-DnsServerRecursion
Get-DnsServerRecursionScope
Get-DnsServerQueryResolutionPolicy
Creating a CSV file with names
- Copy names from Canvas from People > Group > Group start page > Group People into TXT file with ISO 8859-4 encoding.
- Run the following script.
Run with Python 3.6 and higher:
# Python 3.8 Test script to extract student groups to CSV file to be opened with Excel.
# Make sure Encoding is set to ISO 8859-4 for both this script and TXT file.
import sys
from itertools import islice
FILENAME = "Group1Names.txt"
FILENAME2 = "Group2Names.txt"
GROUPFILENAME = "Studentgroups.csv"
def CSVFile(Group, FILENAME, GROUPFILENAME):
Students = ""
with open(FILENAME, 'rt') as f:
for line in islice(f,0,None, 4):
Students += ';'+line
with open(GROUPFILENAME, 'a') as f:
f.write(Group + Students)
CSVFile('Grupp 1;\n',FILENAME,GROUPFILENAME)
CSVFile('Grupp 2;\n',FILENAME2,GROUPFILENAME)