Bruk av PowerShell for begynnere og IT-ansvarlige

Ref. Grensesnitt på lita-ts

Innholdsfortegnelse

1   Om dokumentasjonen

Her der det jeg trenger for å få skrevet denne dokumentasjonen.

yum install -y python-docutils

kjell@tsih ~$ cd /astro/local/maint/doc/
kjell@tsih /astro/local/maint/doc$ rst2html windows-drift-via-lkit-ts.rst >~/www_docs/astro/windows-drift-via-lkit-ts.html

2   Innledning - komme i gang

For å få tilgang til grensesnittet må du:

Dette gjør du via remote desktop enten Microsoft Remote Desktop (OSX)
eller Microsoft Terminal Server Client, mstsc (Windows) eller
rdesktop/xfreerdp/remmina (Linux)

Det ligger trolig et ikon på skrivebordet - hvis ikke må du søke etter den

2.1   To mulige måter å sende kommandoer til maskinen på

Fra administrator-maskinen selv

UIO\katest-drift as user on LKIT-TS03: katest-drift >
  • eller fra selve klientmaskinen etter at en PSSession er åpnet:
UIO\katest-drift as user on LKIT-TS03: katest-drift > Enter-PSSession -ComputerName astpc01

[astpc01]: PS C:\Users\katest-drift\Documents>

2.2   Begynne å administrere en maskin direkte

  • Du kan kjøre en av de tilgjengelige kommandoene fra LKIT-TS01 mot en maskin eller fra MASKINEN selv.

Merk: Det er forskjell i promptet på dette, du ser det i eksempelene nedenfor

Etter at du har logget inn på lkit-ts med drifts-brukeren din og startet "PowerShell ISE" - fordi du vil ha cut´n paste - kjører du Enter-psssession MASKINNAVN

UIO\katest-drift as user on LKIT-TS03: katest-drift > Enter-PSSession -ComputerName astpc01

[astpc01]: PS C:\Users\katest-drift\Documents>

Legg merke til at promptet endrer seg når PSSession er åpnet mot en maskin.

2.3   Direct Access eller ei? (= ipv6 er på)

En maskin bør være i Direct Access, DA for tilgang til hjemme- og fellesområder samt VPN-bruk (biblioteket)

Det gir noen flere muligheter bl.a kan Windows10-laptopper gjøre bl.a montere hjemmeområde og fellesdisker utenfor UiO/på Wifi.

Sjekkes ved at maskinen har ipv6, slik:

ping UiO-HOST

Dersom den svarer med ipv4 mangler den DA og svarer den med ipv6 har den DA.

2.4   Avslutte administrasjon av klientmaskinen

For å gå tilbake til administrator-maskinen:

[astpc01]: PS C:\Users\katest-drift\Documents> exit

UIO\katest-drift as user on LKIT-TS03: katest-drift >

2.5   Alias - forkorte kommandoer

Tips: Hvis du synes kommandoene er for lange, eller du rett og slett er lei av å taste så mye, lag et alias med Set-Alias.

Eksempel:

UIO\katest-drift as user on LKIT-TS02:
katest-drift > Set-Alias gpth Get-PrintTransactionHistory
UIO\katest-drift as user on LKIT-TS02:
katest-drift > gpth test-stud

TransactionId DateTime            UserLogon TransactionType Value  Account1 Account2 Comment
------------- --------            --------- --------------- -----  -------- -------- -------
3409798       05-01-2018 10:37:49 TEST-STUD  Scheduled       40.00  0.00     140.00   Justering av kvote
3342315       05-01-2018 06:04:32 TEST-STUD  Auto generated  100.00 0.00     100.00   Account set on Add User

3   Brukere, grupper og tilgang på lokale maskiner

3.1   Liste ut brukere som er remote desktop users

Vi lister først Remote Desktop Users, den inneholder blanke tegn og må limes sammen i en tekststreng:

Legg merke til "quotes pga. blanke i gruppenavnet"

 UIO\katest-drift as user on LKIT-TS02: katest-drift > Enter-PSSession -ComputerName astpc81

   [astpc81]: PS C:\Users\katest-drift\Documents> net localgroup "Remote Desktop Users"
   Alias name     Remote Desktop Users
   Comment        Members in this group are granted the right to logon remotely

   Members

   -------------------------------------------------------------------------------
   UIO\brendaaa
   UIO\it-astro-windows-drift-gruppe
   UIO\susinths
a>   The command completed successfully.

Administrators er også aktuell, men må altså ikke "quotes" da den ikke inneholder blanke tegn

3.2   Liste Administrators og Remote Desktop Users, inklusive midlertidige

[astpc82]: PS C:\Users\katest-drift\Documents> net localgroup Administrators /add UIO\katest
The command completed successfully.
[astpc81]: PS C:\Users\katest-drift\Documents> net localgroup "Remote Desktop Users"
Alias name     Remote Desktop Users
Comment        Members in this group are granted the right to logon remotely

Members

-------------------------------------------------------------------------------
UIO\astro-drift-gruppe
UIO\brendaaa
UIO\it-astro-windows-drift-gruppe
The command completed successfully.

3.3   Legge til en bruker i en gruppe på maskinen

Legge til bruker/gruppe i gruppen

[astpc81]: PS C:\Users\katest-drift\Documents> net localgroup "Remote Desktop Users" /add UIO\astro-drift-gruppe
The command completed successfully.


[astpc82]: PS C:\Users\katest-drift\Documents> net localgroup "Administrators" /add UIO\katest
The command completed successfully.

3.4   Fjerne bruker fra en gruppe på maskinen

[astpc81]: PS C:\Users\katest-drift\Documents> net localgroup "Remote Desktop Users" /delete UIO\susinths
The command completed successfully.

3.5   Liste ut Administratorer

[astpc01]: PS C:\Users\katest-drift\Documents> net localgroup "Administrators"
Alias name     Administrators
Comment        Administrators have complete and unrestricted access to the computer/domain

Members

-------------------------------------------------------------------------------
Administrator
UIO\astro-drift-gruppe
UIO\Domain Admins
UIO\it-astro-windows-drift-gruppe
UIO\it-uio-cert-drift-gruppe
UIO\it-uio-windows-klient-drift-gruppe
UIO\kjell
The command completed successfully.

3.6   Gi noen midlertidig administrator-rettigheter

Dette skjer fra administrator-maskinen:

UIO\katest-drift as user on LKIT-TS03: katest-drift > Add-UiOTemporaryAdministrator -ComputerName astpc01 -UserName kjell -DurationInMinutes 60

Computername                 User           LocalGroup          Created              Expires        Min  Comment
------------                 ----           ----------          -------              -------        ---  -------
ASTPC01                     kjell         Administrators  03.08.2018 13:41:48  03.08.2018 14:41:48   60
SUCCESS: The scheduled task "uioPSToolsDeleteLocalAdmin_kjell" has successfully been created.

NB! Husk at bruker må logge ut og inn igjen for at eleverte rettigheter skal gjelde på Windows7, Windows10 skal ikke behøve det.

4   Hente ut maskindata/maskin-informasjon

4.1   Ta en omstart av en maskin

Her er man inne på maskinen, se promptet

[astpc83]: PS C:\Users\katest-drift\Documents> Restart-Computer [-Force]

4.2   Finne servicetag på en maskin

[astpc78]: PS C:\Users\katest-drift\Documents> Get-WmiObject -Query "select * from win32_bios"

SMBIOSBIOSVersion : A16
Manufacturer      : Dell Inc.
Name              : BIOS Date: 09/09/13 14:35:04 Ver: A16.00
SerialNumber      : 6VXB302

4.3   Liste ut OS fra maskinen

Her der du ikke inne på maskinen.

UIO\katest-drift as user on LKIT-TS03: katest-drift > Get-CimInstance -ClassName Win32_Operatingsystem -ComputerName astpc01 | Format-Table -Property PSComputerName,Caption,Version

PSComputerName Caption                         Version
-------------- -------                         -------
astpc01        Microsoft Windows 7 Enterprise  6.1.7601

4.4   Liste all MAC-adresssen til en maskin

UIO\katest-drift as user on LKIT-TS01: katest-drift >  Enter-PSSession -ComputerName astpc01
[astpc01]: PS C:\Users\katest-drift\Documents> Get-WmiObject win32_networkadapterconfiguration | select description, macaddress

description                                 macaddress
-----------                                 ----------
..
WAN Miniport (Network Monitor)
Intel(R) 82579LM Gigabit Network Connection 34:17:EB:A1:E9:3A
WAN Miniport (IP)
RAS Async Adapter                           20:41:53:59:4E:FF

4.5   Liste ut data om en maskin (minne, disk, MAC etc.)

[astpc78]: PS C:\Users\katest-drift\Documents> Get-WmiObject -Query "select * from win32_computersystem"

Domain              : uio.no
Manufacturer        : Dell Inc.
Model               : OptiPlex 7010
Name                : ASTPC78
PrimaryOwnerName    : User at UIO
TotalPhysicalMemory : 17132097536

4.6   Liste all aktive brukere til en maskin

UIO\katest-drift as user on LKIT-TS01: katest-drift > Enter-PSSession -ComputerName astpc78

[astpc78]: PS C:\Users\katest-drift\Documents> Get-WMIObject -class Win32_ComputerSystem | select username

username
--------
UIO\kristikn

4.8   Sjekke eller starte prosesser på en maskin

Starte en app (mange måter) https://social.technet.microsoft.com/wiki/contents/articles/7703.powershell-running-executables.aspx

Sjekke hvilke apper som går: https://stackoverflow.com/questions/191206/how-to-get-list-of-running-applications-using-powershell-or-vbscript

  • prosess som er større enn 20MB:
Get-Process | Where-Object {$_.WorkingSet -gt 20000000}
  • for en spesifikk prosess:
[astpc55]: PS C:\Users\katest-drift\Documents> Get-Service Scala*

Status   Name               DisplayName
------   ----               -----------
Running  ScalaNetClient5    Scala Player Transmission Client

Restarte en service https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.management/restart-service?view=powershell-6

"If a service was already stopped, it is started without notifying you of an error. "

[astpc55]: PS C:\Users\katest-drift\Documents> Restart-Service -Name ScalaNetClient5
WARNING: Waiting for service 'Scala Player Transmission Client (ScalaNetClient5)' to stop...
WARNING: Waiting for service 'Scala Player Transmission Client (ScalaNetClient5)' to stop...
WARNING: Waiting for service 'Scala Player Transmission Client (ScalaNetClient5)' to stop...

4.9   Liste all info fra WMI fra maskinen

Denne lister en masse variabler, men ikke noen verdier - synes noe verdiløs pt.

[astpc78]: PS C:\Users\katest-drift\Documents> Get-WmiObject -List

4.10   Slutte å administrere en maskin

[astpc78]: PS C:\Users\katest-drift\Documents> exit
UIO\katest-drift as user on LKIT-TS02: katest-drift >

5   Utskrifts-kommandoer i PowerShell

Se også USITs skriversider

5.1   Sjekke utskrift siste dager

UIO\katest-drift as user on LKIT-TS02: katest-drift > Get-PrintHistory test-stud -Days 10

TrackingID UserLogon StartDate           JobType       DeviceName     DocComputerName JobPrice JobSheetCount
---------- --------- ---------           -------       ----------     --------------- -------- -------------
11894976   TEST-STUD  2018-06-18 20:43:38 JOB_TYPE_PULL Ricoh MP C4503 193.157.161.17  16.0000  20

UIO\katest-drift as user on LKIT-TS02: katest-drift > Get-PrintHistory test-stud -Days 10 -Detailed

TrackingID TransactionID UserLogon StartDate           StopDate            JobType       DeviceName     DocComputerName JobPrice JobSheetCoun
                                                                                                                                 t
---------- ------------- --------- ---------           --------            -------       ----------     --------------- -------- ------------
11894976   0             TEST-STUD  2018-06-18 20:43:38 2018-06-18 20:43:54 JOB_TYPE_PULL Ricoh MP C4503 193.157.161.17  16.0000  20

5.2   Justere kvote og legge til penger på brukes kvote

Legg til <q> til <username> sin kvote. Kommentar er obligatorisk. Kommentaren må ikke begynne med refusjon.

NB! Ang. "gpth" se "Alias" over.

UIO\katest-drift as user on LKIT-TS02:
katest-drift > Add-PrintCredit test-stud -q 50 -c "tester PS og PQuota"
Add-PrintCredit -UserName test-stud -Quota 50 -Comment katest-drift:tester PS og PQuota : done.

UIO\katest-drift as user on LKIT-TS02: katest-drift > gpth test-stud
TransactionId DateTime            UserLogon TransactionType Value  Account1 Account2 Comment
------------- --------            --------- --------------- -----  -------- -------- -------
4151650       21-06-2018 22:57:23 TEST-STUD  Cashier         50.00  50.00    140.00   katest-drift:tester PS og PQuota
3409798       05-01-2018 10:37:49 TEST-STUD  Scheduled       40.00  0.00     140.00   Justering av kvote
3342315       05-01-2018 06:04:32 TEST-STUD  Auto generated  100.00 0.00     100.00   Account set on Add User

6   Justere lyden på en PC

Tips hentet fra Toying with audio in powershell av Tore Grøneng, Co-founder of Firstpoint AS, Firstpoint Bergen som igjen har funnet det på StackOverflow

7   Legge inn programvare

7.1   Manuelt

Alle som kan logge inn på maskinen kan legge i programvare fra Software Center:

Søk opp denne appen og finn og installer støttet programmer via denne.

8   Installasjon av ny Windows10-maskin

8.1   BIOS

"Med Windows 10 går UiO over til UEFI i PXE løsningen."

NB! Husk å installere nyeste Firmware. Hver modell har dessuten eget oppsett av BIOS.

Hvordan?
  • i gammelt OS?
  • En bootbar USB med FreeDOS og FW-oppdateringen
  • ev. nett/statisk DHCP og oppdatering fra nettet?

Det er endel å huske ved oppsett av UEFI

8.2   Reinstallasjon

Slett maskinene fra AD _først_, og _så_ fra SCCM, så skal det virke.

  • Ved reinstallasjon:
o Slette i AD fra lkit-ts i
  • i 32-bits PowerShell, kommando-linje: PS (rmcomputer)
  • i GUI; LITA-tools - Active Directory Users and Computers

(høyreklikk i osl.device.<enhet>.clients - og forts. ..)

o Slette i SCCM fra lkit-ts.uio.no med driftsbrukeren
GUI = System Center Configuration Manager

8.3   Provisjonering av maskinen før installasjon

Se også dokumentajonen for å installere Windows10

Ved installasjon legger man inn MAC-adressen på pcen med dens DNS-navn sammen med primærbruker.

Husk "dhcp assoc" om den er på fastnett.

*-drift@lkit-ts ps64:New-UiOComputer -ComputerName MASKINNAVN -MacAddress 01:02:03:04:05:06 -PrimaryUser PRIMARYUSER -OU /clients-win10/MINENHET/[LAPTOP|DESKTOP]

På astrofysisk institutt er OU /clients-win10/matnat/astronomi/laptop eller /clients-win10/matnat/astronomi/desktop

Deretter venter man 20 min. og kan f.eks bruke tiden på å ordne BIOS-oppsettet og skru secure boot av. Boot maskinen og trykk F12 for pxe-boot og installer.

NB! Husk å sette Secure Boot Enable etter installasjonen.

En peker