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   Om AD ved UiO/matnat/ITA

Instituttet har sin plass i UiO-strukturen. Dette kan listes ut med programmet som finnes i

Start - søk: active Directory Users and Computers
Utsnitt av UiO-AD-domenet

De to skiller på Win7 og Win10, se under.

Begge bruker av udefinerte historiske årsaker astronomi om ITA.

2.1   Windows10

som er /clients-win10/matnat/astronomi/desktop og /clients-win10//matnat/astronomi/laptop

2.2   Windows7

som er /clients/matnat/astronomi og /clients/matnat/astronomi/desktop

3   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

3.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>

3.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.

3.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.

3.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 >

3.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

4   Brukere, grupper og tilgang på lokale maskiner

4.1   Liste ut brukere og sette primary users

Hvordan sette primærbruker på en maskin og sjekke at den er satt:

Ref. https://docs.microsoft.com/en-us/powershell/module/configurationmanager/add-cmdeviceaffinitytouser?view=sccm-ps og https://www.uio.no/tjenester/it/maskin/windows/drift-sikkerhet/sccm/driftsoppgaver/primary-users.html

UIO\katest-drift as user on LKIT-TS01: katest-drift > cd osl:
UIO\katest-drift as user on LKIT-TS01: sccm-uio-p01.uio.no >  Add-CMDeviceAffinityToUser -UserName "UIO\agneshm" -DeviceName "astpc01"

Man skal også kunne se og sjekke og sette(?) dette i "Configuration Manager Console"; start via søk og velg Devices - Search: astpc (enter)

Sette primary user i AD via Configuration Manager Console

(En primary user er ikke administrator, men kan installere program fra software center og gjøre innstillinger der)

4.2   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.

4.3   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.4   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

4.5   Legge til en Administrator eller Remote Desktop Users, inklusive midlertidige og liste de opp

[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.

4.6   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.

4.7   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.

5   Hente ut maskindata/maskin-informasjon

5.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]

5.2   Liste ut servicetag fra 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

5.3   Finne servicetag til en maskin

PS C:\Users\katest-drift\Documents> Get-WmiObject -ComputerName sccm-uio-p01 -Namespace root\sms\site_OSL -Query "select sys.name from sms_r_system as sys inner join sms_g_system_pc_bios as bios on bios.resourceid=sys.resourceid where bios.serialnumber='6VXB302'"


     __GENUS          : 2
     __CLASS          : SMS_R_System
     __SUPERCLASS     : SMS_Resource
     __DYNASTY        : SMS_BaseClass
     __RELPATH        :
     __PROPERTY_COUNT : 1
     __DERIVATION     : {SMS_Resource, SMS_BaseClass}
     __SERVER         : SCCM-UIO-P01
     __NAMESPACE      : root\sms\site_OSL
     __PATH           :
     Name             : ASTPC78
     PSComputerName   : SCCM-UIO-P01

5.4   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

5.5   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

5.6   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

5.7   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

5.9   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...

5.10   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

5.11   Slutte å administrere en maskin

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

6   Utskrifts-kommandoer i PowerShell

Se også USITs skriversider

6.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

6.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

7   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

8   Programvare

8.1   Liste ut all tilgjengelig programvare

For å se en liste over programmer som er tilgjengelige kan du gjøre dette

UIO\katest-drift as user on LKIT-TS01: sccm-uio-p01.uio.no >  Get-AvailableApplication -ComputerName astpc01.uio.no

Name                  SW Version Id                                                                                     PSComputerName
----                  ---------- --                                                                                     --------------
Google Earth 7.1      7.1        ScopeId_EAE732FE-E63C-454E-ABE7-1550D8E165BF/APP_072b11ac-214a-4b3d-8292-b0f4c44090a4  astpc01.uio.no
G*Power 3.1.9.2       3.1.92     ScopeId_EAE732FE-E63C-454E-ABE7-1550D8E165BF/APP_0ad93e48-4633-4d43-b887-e91ca4dec62e  astpc01.uio.no
Gimp 2.8.14           2.8.14     ScopeId_EAE732FE-E63C-454E-ABE7-1550D8E165BF/APP_0e91e897-564e-4218-97fb-e4daecba3d7a  astpc01.uio.no
...

8.3   Installere via PowerShell

Tips hentet fra https://www.uio.no/tjenester/it/maskin/windows/drift-sikkerhet/for-it-ansatte/windows10/programvare/

Her installerer jeg PuTTY på maskinen til Agnes:

UIO\katest-drift as user on LKIT-TS01: katest-drift >  Start-ApplicationInstallation -ComputerName astpc01 -Name "PuTTY"

JobId                                  ReturnValue PSComputerName
-----                                  ----------- --------------
{4E36D6A7-9A46-4ADD-82D8-A5171BBD6817}           0 astpc01

Eksempel: Lokal-IT kan starte installasjon av Firefox ESR fra powershell:

PS C:\> Start-ApplicationInstallation -ComputerName freakout.uio.no -Name "Firefox ESR 60.3.0"

Confirm
Are you sure you want to perform this action?
Performing the operation "Start-ApplicationInstallation" on target "freakout.uio.no Firefox ESR".
[Y] Yes  [A] Yes to All  [N] No  [L] No to All  [S] Suspend  [?] Help (default is "Y"): y

JobId                                  ReturnValue PSComputerName
-----                                  ----------- --------------
{5BFFF6A2-98D7-4A48-B1D7-E255CB2FEE90}           0 freakout.uio.no

Når man først har gjort det, så vil systemet ta seg av vedlikeholdet av Firefox ESR, og oppgradere den automatisk når nye versjoner slippes.

8.4   Legge inn programvare manuelt

Alle som kan logge inn på maskinen kan legge i programvare fra Software Center: Søk etter den og kryss av.

Dersom de trenger å være "Primary User" må du legge de inn som dette, se over.

9   Installasjon av ny Windows10-maskin

9.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

9.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

9.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]

Eksempel:

   New-UiOComputer -ComputerName panzer -MacAddress 8c:ec:4b:a1:3b:00 -PrimaryUser ketilkl -OU /clients-win10/usit/lkit/usit/desktop

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

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