1. Create a self-signed certificate (if required)
PS c:\windows\system32> new-selfsignedcertificate-dnsname www.mycard.com-CertStoreLocation cert:\currentuser\my Catalog: Microsoft.powershell.security\certificate::currentuser\mythumbprint Subject---------- -------313c6d95807e577bbd62d3f0a31077c911b72eb6 cn=www.mycard.com
2. Obtaining a Certificate
a). Find the certificate store location
ps c:\windows\system32> get-psdrivename Used (GB) Free (GB) Provider root---- --------- --------- -------- ----alias AliasC 44.32 16.86 FileSystem C:Cert &nbSp; certificate \
ps c:\windows\system32> dir cert:\currentuser\my - outvariable x Directory: microsoft.powershell.security\certificate::currentuser\ mythumbprint Subject---------- ------- C744543541a7b9e5e0085f38351727765a716415 cn=domain\user313c6d95807e577bbd62d3f0a31077c911b72eb6 cn=www.mycard.com
PS c:\windows\system32> $x [0] directory: microsoft.powershell.security\certificate::currentuser\mythumbprint Subject-----------------c744543541a7b9e5e0085f38351727765a716415 cn=doma In\user
3. Before and after script signature
PS c:\windows\system32> Cat E:\1.ps1Get-Variable
ps c:\windows\system32> set-authenticodesignature -certificate $x [0] -FilePath ' E:\1.PS1 ' catalogue: e:signercertificate status Path----------------- ------ ----fbd0e44e1011c4c992cd5004d73137a3ec0e5ae4 valid 1.ps1
Ps c:\windows\system32> cat e:\1.ps1get-variable# sig # begin signature block# MIIHfgYJKoZIhvcNAQcCoIIHbzCCB2sCAQExCzAJBgUrDgMCGgUAMGkGCisGAQQB# gjccaqsgwzbzmdqgcisgaqqbgjccar4wjgidaqaabbafzdtgwusitrck0sypfvnr# ageaageaageaageaageamcewcqyfkw4dahofaaqufo/es9hhbqstlqxxu6t/dwk2# l7kgggv6miifdjccbf6gawibagike3b1nwaaaabmqdanbgkqhkig9w0baqufadba# mrmweqykczimizpylgqbgrydy29tmruwewykczimizpylgqbgryfy25wzgmxejaq# bgnvbamtcunouerdy2vyddaefw0xndexmjawmzi5mzhafw0xntexmjawmzi5mzha# mhgxezarbgojkiajk/ iszaezfgnjb20xftatbgojkiajk/iszaezfgvjbnbkyzev# mbmga1uecxmmuhjpdmf0zunsb3vkmq8wdqydvqqlewzdb21tb24xedaobgnvbast# b0fjy291bnqxedaobgnvbamtb3nwywrtaw4wgz8wdqyjkozihvcnaqebbqadgy0a# migjaogbajbtbosic0gfzz0nd+kfsl/ 1ct2t3wnn6b/8/kkhp8monq5kq/l3ytjp# a/bnmldt+jjjb4+2xixzpzjlsq6i1hgx3la34/eexortyhcqb7mflm70jo+piw1c# qjb9e0gtxghwshn7f3npfei/9wegzx05modcg2y/piphsnvgvmm7agmbaagjggk8# miicudalbgnvhq8ebamcb4awjqyjkwybbagcnxqcbbgefgbdag8azablafmaaqbn# ag4aaqbuagcwhqydvr0obbyefhxuarzcq8zogc8gukxpkqk2m0samb8ga1udiwqy# mbaafeiyearnajbl+ tplbvact4ejw5bsmih0bgnvhr8egewwgekwgeaggeoggecg# gaxszgfwoi8vl0nopunouerdy2vydcxdtj13ywfjysxdtj1drfasq049uhvibglj# jtiws2v5jtiwu2vydmljzxmsq049u2vydmljzxmsq049q29uzmlndxjhdglvbixe# qz1jbnbkyyxeqz1jb20/ y2vydglmawnhdgvszxzvy2f0aw9utglzdd9iyxnlp29i# amvjdensyxnzpwnsterpc3ryawj1dglvblbvaw50hi9odhrwoi8vd2fhy2euy25w# zgmuy29tl0nlcnrfbnjvbgwvq05qrenjzxj0lmnybdccaqygccsgaqufbwebbih5# mih2migmbggrbgefbqcwaoabmwxkyxa6ly8vq049q05qrenjzxj0lenopufjqsxd# tj1qdwjsawmlmjblzxklmjbtzxj2awnlcyxdtj1tzxj2awnlcyxdtj1db25mawd1# cmf0aw9ulerdpwnucgrjlerdpwnvbt9jqunlcnrpzmljyxrlp2jhc2u/b2jqzwn0# q2xhc3m9y2vydglmawnhdglvbkf1dghvcml0etblbggrbgefbqcwaoy/ahr0cdov# l3dhywnhlmnucgrjlmnvbs9dzxj0rw5yb2xsl3dhywnhlmnucgrjlmnvbv9dtlbe# Q2nlcnquy3j0mbmga1udjqqmmaogccsgaqufbwmdmcwga1udeqqlmcogiqykkwyb# bagcnxqca6atdbfzcgfkbwluqgnucgrjlmnvbtanbgkqhkig9w0baqufaaocaqea# v6r7xoyewb2qs8av/ez9maougbn9edi/+4x5mentc4hhrjqdeel0ypz+9byxf23t# olisqdqf0ylnsejy8xdizl66vbwpmf+lqlmzgepz5g2irarizf9opa1mpcoexlog# 7vmffcly+ pnau7swr41qev9bxf3dvqch6gkyeicnzajwvdlibp6jff8zle7jphqi# khvhb1hbxtadgcyqsofd0gp7iico9melaouww13gxfrhnvtw1sakrcidlpop/no9# tyeoxhth+nv5ubvbzwltw9nahcg+pjg+ 9pitfiqih4c+aes3nl58ybxdaxbmz+rv# oqdwjrexchv20wulyplqfzgcaw4wggfqagebme4wqdetmbegcgmsjomt8ixkarkw# a2nvbtevmbmgcgmsjomt8ixkarkwbwnucgrjmriweaydvqqdewldtlbeq2nlcnqc# chnwdz8aaaaazkawcqyfkw4dahofakb4mbggcisgaqqbgjccaqwxcjaioakaakec# gaawgqyjkozihvcnaqkdmqwgcisgaqqbgjccaqqwhaykkwybbagcnwibczeomawg# cisgaqqbgjccaruwiwyjkozihvcnaqkemryefhwoqigzoxklriov7cz1wbhrma57# ma0gcsqgsib3dqebaquabigaemp+ d25uxjxuof3pzpuoagbwurkjyynds8thtcuj# lswyu6dmnxyp37hlbl0tvnmynxk71gux/p4kc/en9rduwtipzurctydwlfpqpeaw# kgaz0ekd0h2tawllitchrm+whjgsur2n5or4z3excca8mjjesvzjj5ezfnpk97sx# teu=# sig # end&nbSp;signature block
Signing a PowerShell script with a certificate