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
相关推荐
-
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
-
C#实现读取指定盘符硬盘序列号的方法
本文实例讲述了C#实现读取指定盘符硬盘序列号的方法.分享给大家供大家参考,具体如下: using System; using System.IO; using System.Runtime.InteropServices; using System.Text; using Microsoft.Win32; namespace Wjb.ReadOrWriteIniAndReg { /**/////// 读取指定盘符的硬盘序列号 /// public class HardDiskVal { [Dll
-
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
-
.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
-
安装完成后如何找回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
-
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相关内容感兴
-
C#获得MAC地址(网卡序列号)的实现代码
代码如下: 复制代码 代码如下: //获得网卡序列号 public string GetMoAddress() { string MoAddress = " "; ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration"); ManagementObjectCollection moc2 = mc.GetInstanc
-
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
-
C#获取U盘序列号的方法
本文实例讲述了C#获取U盘序列号的方法.分享给大家供大家参考.具体如下: using System.Management; private List<string> _serialNumber = new List<string>(); /// <summary> /// 调用这个函数将本机所有U盘序列号存储到_serialNumber中 /// </summary> private void matchDriveLetterWithSerial() { s
-
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
随机推荐
- Swift流程控制之循环语句和判断语句详解
- 解析SQL2005中如何使用CLR函数获取行号
- angular+bootstrap的双向数据绑定实例
- Linux下NC反弹shell命令(推荐)
- 如何用IOS调用WebService(SOAP接口)
- asp.net操作ini文件示例
- c#中带头(声明)的xml(封装)生成
- 老生常谈ThinkPHP中的行为扩展和插件(推荐)
- Android实战教程第四篇之简单实现短信发送器
- Android滚轮选择时间控件使用详解
- JavaScript String 对象常用方法详解
- golang之tcp自动重连实现方法
- DIV+CSS实现的滑动门菜单特效代码
- 纯javascript模仿微信打飞机小游戏
- Node.js的npm包管理器基础使用教程
- Android组件之DrawerLayout实现抽屉菜单
- 深入讲解java线程与synchronized关键字
- 一道关于java异常处理的题目
- Android的ListView多选删除操作实现代码
- Android中AlertDialog的六种创建方式
