PowerShell中获取Windows系统序列号的脚本分享
windows序列号可以直接在注册表中读取,PowerShell要做的只是读出数据后稍作处理,让它更像一个序列号。
function Get-ProductKey {
$map="BCDFGHJKMPQRTVWXY2346789"
$value = (get-itemproperty "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion").digitalproductid[0x34..0x42]
$ProductKey = ""
for ($i = 24; $i -ge 0; $i--) {
$r = 0
for ($j = 14; $j -ge 0; $j--) {
$r = ($r * 256) -bxor $value[$j]
$value[$j] = [math]::Floor([double]($r/24))
$r = $r % 24
}
$ProductKey = $map[$r] + $ProductKey
if (($i % 5) -eq 0 -and $i -ne 0) {
$ProductKey = "-" + $ProductKey
}
}
$ProductKey
}
输出结果为:
PS> Get-ProductKey
VKTXG-GXXY3-W97QP-GP4PV-XXXXX
相关推荐
-
ORACLE实现自定义序列号生成的方法
实际工作中,难免会遇到序列号生成问题,下面就是一个简单的序列号生成函数 (1)创建自定义序列号配置表如下: --自定义序列 create table S_AUTOCODE ( pk1 VARCHAR2(32) primary key, atype VARCHAR2(20) not null, owner VARCHAR2(10) not null, initcycle CHAR(1) not null, cur_sernum VARCHAR2(50) not null, zero_flg VAR
-
java生成申请单序列号的实现方法
复制代码 代码如下: import java.text.SimpleDateFormat;import java.util.Date; import org.apache.commons.lang3.StringUtils; /** * 产生流水号工具类 * @version V1.0 * @date: 2013-11-16 下午5:21:37 */ public class SerialNum { private static String count = "000"; privat
-
C#利用win32 Api 修改本地系统时间、获取硬盘序列号
C#利用win32 Api 修改本地系统时间.获取硬盘序列号,可以用于软件注册机制的编写! 复制代码 代码如下: using System; using System.Collections.Generic; using System.Text; using System.Runtime.InteropServices; namespace Fengyun { public class Win32 { #region 修改本地系统时间 [DllIm
-
SQL Server自动生成日期加数字的序列号
USE MASTER GO IF EXISTS(SELECT * FROM dbo.sysdatabases WHERE name='my_test_database') DROP DATABASE [my_test_database] GO CREATE DATABASE [my_test_database] GO USE [my_test_database] GO CREATE TABLE [my_table] ([my_id] VARCHAR(16)) GO --存储过程开始 : CREA
-
C#实现读取指定盘符硬盘序列号的方法
本文实例讲述了C#实现读取指定盘符硬盘序列号的方法.分享给大家供大家参考,具体如下: using System; using System.IO; using System.Runtime.InteropServices; using System.Text; using Microsoft.Win32; namespace Wjb.ReadOrWriteIniAndReg { /**/////// 读取指定盘符的硬盘序列号 /// public class HardDiskVal { [Dll
-
mysql简单实现查询结果添加序列号的方法
本文实例讲述了mysql简单实现查询结果添加序列号的方法.分享给大家供大家参考,具体如下: 第一种方法: 复制代码 代码如下: select (@i:=@i+1) as i,table_name.* from table_name,(select @i:=0) as it 第二种方法: set @rownum=0; select @rownum:=@rownum+1 as rownum, t.username from auth_user t limit 1,5; 更多关于MySQL相关内容感兴
-
安装完成后如何找回SQL Server实例安装时的序列号
当需要再次安装SQL Server时,如果序列号找不到了,可以试着从已经安装的实例里找回序列号,因为安装完SQL Server后,序列号(Product Key)被保存在注册表里: MSDN订阅下载的安装包是内置序列号的,则没有这个困扰. 一. 序列号保存在哪 通过无文档记载的扩展存储过程xp_regread读取注册表: --For SQL Server 2008, 2008 R2 use master GO exec xp_regread 'HKEY_LOCAL_MACHINE','SOFTW
-
C#获得MAC地址(网卡序列号)的实现代码
代码如下: 复制代码 代码如下: //获得网卡序列号 public string GetMoAddress() { string MoAddress = " "; ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration"); ManagementObjectCollection moc2 = mc.GetInstanc
-
C#获取U盘序列号的方法
本文实例讲述了C#获取U盘序列号的方法.分享给大家供大家参考.具体如下: using System.Management; private List<string> _serialNumber = new List<string>(); /// <summary> /// 调用这个函数将本机所有U盘序列号存储到_serialNumber中 /// </summary> private void matchDriveLetterWithSerial() { s
-
.net获取硬件信息_CPU序列号
复制代码 代码如下: Public Sub getCpuId() Try Dim mc As Management.ManagementClass Dim moc As Management.ManagementObjectCollection Dim mo As Management.ManagementObject mc = New Management.ManagementClass("win32_processor") moc = mc.GetInstances() For E
随机推荐
- 可以在线创建文件夹吗?
- excel2access vbs脚本
- Spring security实现登陆和权限角色控制
- Oracle删除表及查看表空间的实例详解
- jquery插件uploadify实现带进度条的文件批量上传
- php用户注册页面利用js进行表单验证具体实例
- C语言中数据结构之链表归并排序实例代码
- Windows下ORACLE 10g完全卸载的方法分析
- Eclipse和PyDev搭建完美Python开发环境教程(Windows篇)
- 基于ASP.NET MVC的ABP框架入门学习教程
- JS如何实现文本框随文本的长度而增长
- mysql 松散的索引扫描(Loose index scan)
- jquery中AJAX请求 $.post方法的使用
- 使用jquery+iframe做一个ajax上传效果(实例)
- javascript中this的四种用法
- js调用后台、后台调用前台等方法总结
- 原生JS实现风箱式demo,并封装了一个运动框架(实例代码)
- 打印机常见部件检测维修技巧第1/3页
- 详解Springboot事务管理
- Flask配置Cors跨域的实现