Windows 7系统下PowerShell高级操作指南

内容分享7小时前发布
0 0 0

table {
border-collapse: collapse;
width: 100%;
margin-bottom: 1rem;
}
th, td {
border: 1px solid #ddd;
padding: 8px;
text-align: left;
}
th {
background-color: #f2f2f2;
}
tr:nth-child(even) {
background-color: #f9f9f9;
}
pre {
background-color: #f8f8f8;
padding: 15px;
border-radius: 4px;
overflow-x: auto;
}

1、在Windows 7系统上,如何启动XP模式虚拟机系统并安装使PowerShell正常工作的组件以及相关软件?步骤为:先启动XP模式虚拟机系统,点击“开始”→“所有程序”→“Windows虚拟PC”→选择“虚拟Windows XP”;待虚拟Windows XP加载完成后,安装使PowerShell正常工作的组件;接着下载并安装想在XP上安装的32位版本的.NET Framework;最后下载并安装32位版本的Windows管理框架。

在Windows 7系统中,启动XP模式虚拟系统。操作步骤为:

点击“开始”。

依次选择“所有程序” > “Windows虚拟PC”。

然后选择“虚拟Windows XP”。

待虚拟Windows XP加载完毕后:

安装让PowerShell运行的组件。

下载并安装打算在XP系统使用的32位版本 .NET Framework。

再下载并安装32位版本的Windows管理框架。

2、使用命令 New – Item – Path $profile – ItemType File – force 创建一个配置文件。使用 notepad $profile 打开该配置文件。输入命令 Import – Module – Name ActiveDirectory 和 Import – Module – Name WebAdministration 来加载服务器上用于 IIS 和 Active Directory 的适当模块(或者选择加载其他角色)。在记事本中保存配置文件并关闭它。退出当前的 PowerShell 会话。启动 PowerShell 并运行 Get – Module 来验证模块是否正确加载。

按照以下步骤操作:

使用命令

New-Item -Path $profile -ItemType File -Force

创建配置文件,该命令会在必要时创建所需的目录和文件,默认会在

%UserProfile%My DocumentsWindowsPowerShell

目录下创建名为

Microsoft.PowerShell_profile.ps1

的脚本文件,此配置文件仅影响当前用户的当前 shell。

使用命令

notepad $profile

打开配置文件。

在打开的记事本中输入以下命令以加载 IIS 和 Active Directory 模块:

powershell
Import-Module -Name ActiveDirectory
Import-Module -Name WebAdministration

若未安装这些角色,可选择加载其他角色;若不确定要加载哪些模块,可使用

Get-Module -ListAvailable

查看可用模块列表。

4. 在记事本中选择“文件” → “保存”,然后关闭记事本。

5. 退出当前的 PowerShell 会话。

6. 启动 PowerShell 并运行

Get-Module

命令,以验证模块是否已正确加载。

3、使用命令 Write – Host ‘Here are the programs in the Run Registry’、Get – ItemProperty – path HKLM:SOFTWAREMicrosoftWindowsCurrentVersion
un、Write – Host ‘Here are the programs in the RunOnce Registry:’ 和 Get – ItemProperty – path HKLM:SOFTWAREMicrosoftWindowsCurrentVersion
unOnce 创建一个 PowerShell 脚本来查找启动程序。

以下是满足需求的 PowerShell 脚本:


Write-Host 'Here are the programs in the Run Registry'
Get-ItemProperty -path HKLM:SOFTWAREMicrosoftWindowsCurrentVersion
un
Write-Host 'Here are the programs in the RunOnce Registry:'
Get-ItemProperty -path HKLM:SOFTWAREMicrosoftWindowsCurrentVersion
unOnce

4、打开 PowerShell,确保已创建本地配置文件,并将远程执行策略设置为 RemoteSigned。输入 Notepad $profile 打开配置文件。使用 New – PSSession cmdlet 并跟上你要管理的服务器名称来创建远程会话。在记事本中保存配置文件。关闭现有的 PowerShell 会话。重新打开 PowerShell 会话,并使用 Get – PSSession cmdlet 验证是否已创建远程会话。请说明具体操作步骤。

此为一系列操作步骤,可按以下步骤执行:

打开 PowerShell;

确认已创建本地配置文件,可通过命令查看和创建;

设置远程执行策略为

RemoteSigned

,使用命令

Set-ExecutionPolicy RemoteSigned

输入

Notepad $profile

打开配置文件;

使用

New-PSSession

命令跟上服务器名称创建远程会话,如

New-PSSession ServerName

在记事本中保存配置文件;

关闭当前 PowerShell 会话;

重新打开 PowerShell 会话;

使用

Get-PSSession

命令验证远程会话是否创建成功。

5、创建一个用于计划备份的 PowerShell 脚本,脚本内容为:$policy = New – WBPolicy; $volume = get – WBVolume – VolumePath c:; Add – WBVolume – Policy $policy – volume $volume; Add – WBSystemState – Policy $policy; $target = New – WBBackupTarget – VolumePath Z:; Add – WBBackuptarget – Policy $policy – target $target; Start – WBBackup – Policy $policy。将脚本命名为 backup1.ps1。然后创建一个任务计划程序任务,使用命令 powershell – noninteractive c:scriptsackup1.ps1 来运行 backup1.ps1。请说明具体操作步骤。

以下是完成该任务的步骤:

创建 PowerShell 脚本:在文本编辑器(如记事本)中输入以下代码:


$policy = New-WBPolicy
$volume = Get-WBVolume -VolumePath C:
Add-WBVolume -Policy $policy -Volume $volume
Add-WBSystemState -Policy $policy
$target = New-WBBackupTarget -VolumePath Z:
Add-WBBackupTarget -Policy $policy -Target $target
Start-WBBackup -Policy $policy

将文件保存为

backup1.ps1

创建任务计划程序任务:打开“任务计划程序”,创建新任务。在“操作”选项卡中,添加操作,设置程序/脚本为“powershell”,添加参数“-noninteractive c:scriptsackup1.ps1”。最后根据需求设置任务的触发条件等其他参数。

6、使用 PowerShell 命令创建名为 test 的组织单位,其路径为“DC = deploy,DC = com”。接着创建用户 chrissmith,设置其名(GivenName)为“Smith”,姓(Surname)为“Chris”,显示名称(Displayname)为“Chris Smith”,用户所在路径为 ‘OU = test,DC = deploy,DC = com’。之后为用户启用账户、设置密码、启用 Active Directory 回收站、删除 Test 组织单位中的用户,最后恢复已删除的用户。

以下是完成该任务的 PowerShell 脚本示例:


# 创建名为test的组织单位
New-ADOrganizationalUnit -Name "Test" -Path "DC=deploy,DC=com"

# 创建用户列表
$users = @(
    @{
        Username    = "chrissmith";
        GivenName   = "Smith";
        Surname     = "Chris";
        DisplayName = "Chris Smith"
    },
    @{
        Username    = "sarahsmith";
        GivenName   = "Smith";
        Surname     = "Sarah";
        DisplayName = "Sarah Smith"
    },
    @{
        Username    = "kevinsmith";
        GivenName   = "Smith";
        Surname     = "Kevin";
        DisplayName = "Kevin Smith"
    },
    @{
        Username    = "debsmith";
        GivenName   = "Smith";
        Surname     = "Deb";
        DisplayName = "Deb Smith"
    },
    @{
        Username    = "caitlinsmith";
        GivenName   = "Smith";
        Surname     = "Caitlin";
        DisplayName = "Caitlin Smith"
    },
    @{
        Username    = "mitchellsmith";
        GivenName   = "Smith";
        Surname     = "Mitchell";
        DisplayName = "Mitchell Smith"
    },
    @{
        Username    = "nicolesmith";
        GivenName   = "Smith";
        Surname     = "Nicole";
        DisplayName = "Nicole Smith"
    },
    @{
        Username    = "mattsmith";
        GivenName   = "Smith";
        Surname     = "Matt";
        DisplayName = "Matt Smith"
    },
    @{
        Username    = "billsmith";
        GivenName   = "Smith";
        Surname     = "Bill";
        DisplayName = "Bill Smith"
    }
)

# 创建用户并设置密码、启用账户
foreach ($user in $users) {
    New-ADUser $user.Username `
        -GivenName $user.GivenName `
        -Surname $user.Surname `
        -DisplayName $user.DisplayName `
        -Path 'OU=test,DC=deploy,DC=com'

    Set-ADAccountPassword -Identity $user.Username -Reset `
        -NewPassword (ConvertTo-SecureString -AsPlainText "pa55w3rd" -Force)

    Enable-ADAccount -Identity $user.Username
}

# 启用Active Directory回收站(前提是森林功能级别支持)
Enable-ADOptionalFeature -Identity 'Recycle Bin Feature' `
    -Scope ForestOrConfigurationSet `
    -Target (Get-ADForest).DistinguishedName

# 删除Test OU中的用户
foreach ($user in $users) {
    Remove-ADUser -Identity $user.Username -Confirm:$false
}

# 恢复已删除的用户
Get-ADObject -SearchBase "CN=Deleted Objects,DC=deploy,DC=com" `
    -Filter {lastKnownParent -eq "OU=test,DC=deploy,DC=com"} `
    -IncludeDeletedObjects | Restore-ADObject

以上脚本先创建了名为

test

的组织单位,接着创建了多个用户,为用户设置密码并启用账户,然后启用Active Directory回收站,删除Test组织单位中的用户,最后恢复已删除的用户。

7、使用 PowerShell 命令创建一个网站,包含创建网站、应用程序池、设置应用程序池的进程模型、创建应用程序、创建虚拟目录以及备份网站配置,相关命令如下:New – WebSite – Name MySite – Port 80 – HostHeader MySite – PhysicalPath “c:mysite”、New – WebAppPool Pool1、Set – ItemProperty iis:apppoolsPool1 – name processModel – value @{userName = “WebApp”;password = “pass@word1”;identitytype = 3}、New – WebApplication – Name App1 – Site ‘MySite – PhysicalPath c:MyApp – ApplicationPool Pool1、New – WebVirtualDirectory – site “MySite” – name PictureVirDir – PhysicalPath server1images 和 Backup – WebConfiguration – Name MySiteBackup,请给出具体操作步骤。

以下是这些命令的组合脚本:


New-WebSite -Name "MySite" -Port 80 -HostHeader "MySite" -PhysicalPath "c:mysite"
New-WebAppPool "Pool1"
Set-ItemProperty IIS:AppPoolsPool1 -Name "processModel" -Value @{userName="WebApp";password="pass@word1";identityType=3}
New-WebApplication -Name "App1" -Site "MySite" -PhysicalPath "c:MyApp" -ApplicationPool "Pool1"
New-WebVirtualDirectory -Site "MySite" -Name "PictureVirDir" -PhysicalPath "\server1images"
Backup-WebConfiguration -Name "MySiteBackup"

将上述命令按顺序在 PowerShell 中执行,即可完成网站的创建、应用程序池的设置、应用程序的关联、虚拟目录的创建以及配置文件的备份。

8、请说明如何创建一个部署共享,包含创建 PS 驱动器、复制 Windows 7 文件到部署共享、创建任务序列、更新部署共享以及若安装了 WDS 时添加映像的操作步骤。

以下是按照要求执行各步骤的总结:

创建部署共享并创建 PS 驱动器:

powershell
New-PSDrive -Name "Win701" -PSProvider "MDTProvider" -Root "d:win7" -Description "My Windows 7 Share" -NetworkPath "\[yourserver]Win7$" -Verbose | Add-MDTPersistentDrive -Verbose

复制 Windows 7 文件到部署共享:

powershell
Import-MDTOperatingSystem -path "Win701:Operating Systems" -SourcePath "[Source files for Win7]" -DestinationFolder "Windows 7" -Verbose

创建任务序列:

powershell
Import-MDTTaskSequence -path "Win701:Task Sequences" -Name "Deploy Windows 7" -Template "Client.xml" -Comments "Select this task Sequence to deploy the standard Windows 7 desktop" -ID "DepWin7" -Version "1.0" -OperatingSystemPath "Win701:Operating SystemsWindows 7 PROFESSIONAL in Windows 7 x64 install.wim" -FullName "Desktop User" -OrgName "deploy.com" -HomePage "www.bing.com" -Verbose

更新部署共享:

powershell
Update-MDTDeploymentShare -path "Win701:" -Verbose

若安装了 WDS,添加映像:

cmd
WDSUTIL /verbose /progress /Add-Image /ImageFile:"D:win7BootLiteTouchPE_x64.wim" /ImageType:Boot

9、请描述使用以下命令进行的操作:New – VM – Name VM2K8R2 – Server Hyperv1;New – VMExternalSwitch – VirtualSwitchName “External Network” – ext “Intel” – Server Hyperv1;Add – VMNIC “ VM2K8R2” – virtualSwitch “External Network”;Add – NewVMHardDisk – VM PshellVM 0 1 – VHDPath d:VM2K8R2VM2K8R2.vhd – size 200GB – Fixed;New – VMSnapshot VM2K8R2

本题描述的操作步骤如下:

创建虚拟机:

使用

New - VM - Name VM2K8R2 - Server Hyperv1

命令在 Hyperv1 服务器上创建名为 VM2K8R2 的虚拟机。

创建外部虚拟机交换机:

使用

New - VMExternalSwitch - VirtualSwitchName “External Network” - ext “Intel” - Server Hyperv1

命令在 Hyperv1 服务器上创建名为 “External Network” 的外部虚拟机交换机,该交换机绑定名称以 “Intel” 开头的物理适配器。

添加虚拟网卡:

使用

Add - VMNIC “VM2K8R2” - virtualSwitch “External Network”

命令为虚拟机 VM2K8R2 添加一个虚拟网卡,并将其关联到 “External Network” 交换机。

创建固定大小的硬盘:

使用

Add - NewVMHardDisk - VM PshellVM 0 1 - VHDPath d:VM2K8R2VM2K8R2.vhd - size 200GB - Fixed

命令为虚拟机 VM2K8R2 创建一个大小为 200GB 的固定大小硬盘,硬盘文件路径为

d:VM2K8R2VM2K8R2.vhd

拍摄虚拟机快照:

使用

New - VMSnapshot VM2K8R2

命令为虚拟机 VM2K8R2 拍摄一个快照。

© 版权声明

相关文章

暂无评论

none
暂无评论...