对于Windows 2008,我需要创build一个脚本来显示连接的RDP会话是否设置为“高”encryption或其他(例如“兼容”)。 有没有人知道一种方式来得到这个没有通过GUI? 我调查了wmic和powershell,但无法find任何东西。 我发现terminal服务的.net Powershell模块,但它只会显示状态(即列表会话)。 我其实需要看到encryption级别。
我构build了一个使用Diskpart挂载(附加) VHD的脚本,清除了一些系统文件,然后卸载(分离)它。 它使用一个foreach循环,并假设使用相同的驱动器号来清理多个VHD。 但是,在第一个VHD失败之后。 我还注意到,当我尝试手动附加一个VHD与diskpart,diskpart成功,磁盘pipe理器显示正确的驱动器号的磁盘,但在同一个PoSH实例,我无法连接(设置位置)该驱动器。 如果我在第一次打开PoSH时做了一个手动的磁盘分区,我可以附加和分离所有我想要的,并且每次都得到驱动器盘符。 有什么我需要做的重置脚本中的diskpart? 这是我正在使用的脚本的一个片段。 function Mount-VHD { [CmdletBinding()] param ( [Parameter(Position=0,Mandatory=$true,ValueFromPipeline=$false)] [string]$Path, [Parameter(Position=1,Mandatory=$false,ValueFromPipeline=$false)] [string]$DL, [string]$DiskpartScript = "$env:SystemDrive\DiskpartScript.txt", [switch]$Rescan ) begin { function InvokeDiskpart { Diskpart.exe /s $DiskpartScript } ## Validate Operating System Version ## if (Get-WmiObject win32_OperatingSystem -Filter "Version < '6.1'") {throw "The script operation requires at least Windows 7 or […]
Powershell cmdlet Test-Cluster查询大量数据并执行validationtesting,并将其包装到一个漂亮的报告中。 如果运行Test-Cluster -List List,则会获得一个项目列表,您可以使用该cmdlet单独进行查询。 阅读DisplayName时有一个通用的命名scheme。 它们都以“List”或“Validate”开头。 显然“validation”将实际上通过失败来testing故障转移。 但是命名“List”让我觉得这只是对数据的查询,就像在运行时一样。 我已经用下面的脚本testing过了: $TestList = Test-Cluster -List | Where-Object {$_.DisplayName -like "List*"} Test-Cluster -Include $TestList.DisplayName -ReportName "c:\cluster reports\report" 在生成此报告时,我看不到任何已logging的群集错误或注意到任何故障转移活动。 微软technet也不完全清楚这一点,但他们确实推断行为是与我在想的是一致的。 看到这个摘录(重点是我的): testing结果将以您指定的文件名捕获到文件中。 通过运行validationtesting,您可以确认您的硬件和设置与故障转移群集兼容 。 有多种types的testing,包括集群,库存,networking,存储,系统和其他types的testing。 存储testing不会testing集群angular色正在使用的联机磁盘或存储池。 要testing此类磁盘,请首先运行Stop-ClusterGroup以停止集群angular色,然后运行Test-Cluster。 testing完成后,再次启动群集angular色(也称为资源组)。 testing群集TechNet页面 我想请您注意他们对“validation”一词的使用。 此外,运行该脚本时,作为输出的一部分,它说: Test Result: ClusterSkippedTestsCompleted 如果包含validationtesting,结果是: Test Result: ClusterConditionallyApproved 在我的testing环境中,networkingtesting产生了一些警告,触发了有条件的批准。 我已经search了很多,find描述“validation”与“列表”分裂背后的逻辑的文档,但我还没有发现任何东西。 这导致了一个问题… 列表请求是否触发故障转移事件?
我正在使用一些发布自动化脚本,使用Powershell来更新执行各种应用程序的现有计划任务。 在我的脚本中,我可以设置应用程序的path和工作目录,但似乎没有将更改保存回任务。 function CreateOrUpdateTaskRunner { param ( [Parameter(Mandatory = $TRUE, Position = 1)][string]$PackageName, [Parameter(Mandatory = $TRUE, Position = 2)][Version]$Version, [Parameter(Mandatory = $TRUE, Position = 3)][string]$ReleaseDirectory ) $taskScheduler = New-Object -ComObject Schedule.Service $taskScheduler.Connect("localhost") $taskFolder = $taskScheduler.GetFolder('\') foreach ($task in $taskFolder.GetTasks(0)) { # Check each action to see if it references the current package foreach ($action in […]
当我启动Aws Ec2 Windows 2012 R2实例时,它总是带有一个默认的en-US语言环境。 但是,我需要将现有的两个实例更改为en-GB,就好像它们是像第一个那样安装的。 也就是说,我需要将所有用户的语言环境更改为en-GB,包括networking服务或本地服务等系统用户。 有没有办法做到这一点? 我曾尝试在PowerShell的Set-WinSystemLocale en-GB,但即使我没有得到任何错误,即使重新启动,它什么都不做。 感谢您的任何帮助。
我无法通过远程PowerShell会话运行Exchange 2010 cmdlet。 我以pipe理员身份启动本地PowerShell会话并发出以下命令 – PS C:\Windows\system32> $mailcred = Get-Credential PS C:\Windows\system32> $mailSession = New-PSSession -ComputerName MAILSRV -Credential $mailcred PS C:\Windows\system32> Enter-PSSession $mailSession [MAILSRV]: PS C:\Users\jdoe\Documents> Add-PSSnapin Microsoft.Exchange.Management.PowerShell.E2010 [MAILSRV]: PS C:\Users\jdoe\Documents> hostname MAILSRV [MAILSRV]: PS C:\Users\jdoe\Documents> Get-ExchangeServer Value cannot be null. Parameter name: serverSettings + CategoryInfo : + FullyQualifiedErrorId : System.ArgumentNullException,Microsoft.Exchange.Management.SystemConfigurationTasks.GetExchangeServer [MAILSRV]: PS C:\Users\jdoe\Documents> get-mailbox […]
我正在尝试使用Start-CMSoftwareUpdateDeployment cmdlet将软件更新组部署到现有集合。 PS WHO:\> Start-CMSoftwareUpdateDeployment -SoftwareUpdateGroupName "Update Group – Microsoft Updates" -CollectionName ` Eval_OSUpdates -DeploymentType Required -SendWakeUpPacket $true -AllowRestart $true -PersistOnWriteFilterDevice $true ` -DownloadFromMicrosoftUpdate $true -DeploymentName "Evaluation Deployment – Update Group – Microsoft Updates" ` -UserNotification DisplayAll -RestartWorkstation $false -AllowUseMeteredNetwork $true 所有需要的参数给出,但是我执行时收到以下错误: Start-CMSoftwareUpdateDeployment : ConfigMgr Error Object: instance of SMS_ExtendedStatus { Description = "One or […]
现在,我正在执行以下操作来请求来自CEP服务器的证书: 打开gpedit.msc 在计算机configuration> Windows设置>安全设置>公钥策略下,双击“证书服务客户端 – 证书注册策略” 启用 inputCEP URI 切换到用户名/密码authentication validation(提供信誉) 打开MMC,并导入证书pipe理单元 转到证书>个人 右键单击>申请新证书 input“更多信息”(CN,DNS名称等) 提供信誉 在此之后,我有一个CEP的证书; 但是,这是一个手动操作的痛苦过程。 有什么办法可以在Server 2008(和2012)中自动化吗? 我可以find关于此的所有信息,告诉如何安装CEP服务,使服务器成为注册策略服务器(关于实际请求新证书或在客户端启用它)。 是否有可能自动化呢? 看起来这个过程在HKEY_LOCAL_MACHINE \ SOFTWARE \ Policies \ Microsoft \ Cryptography下添加了很多数据。 我可以手动添加这个(并欺骗一个GUID / ServiceID)?
我们有一些Windows 2012服务器核心系统,使用以下命令将PowerShell设置作为默认shell: $RegPath = "Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\winlogon" Set-ItemProperty -Confirm -Path $RegPath -Name Shell -Value 'cmd.exe /C start /max PowerShell.exe -noExit' 我发现我们可以使用特殊的powershell脚本在c:\ Windows \ System32 \ WindowsPowerShell \ v1.0 \ profile.ps1中自定义powershell字体颜色。 该脚本被所有用户使用。 但是现在我想定制永久性的字体和字体大小(对于所有用户来说)。 IE如果我退出服务器并重新login,我想保留设置。 同样,如果我以pipe理员身份login,或我自己的帐户PowerShell应该看起来相同 – 使用相同的字体颜色,字体和字体大小。 使用Powershell ISE,似乎可以使用以下命令来设置字体和字号: $psISE.Options.FontName = 'Lucida Sans Console' $psISE.Options.FontSize = 14 什么是PowerShell本身虽然相当于?
我正在使用Windows Server 2016 nano的最新预览版。 使用远程PowerShell会话,我通过Enter-PSSession连接到远程系统,然后尝试使用最常用的技术来检查Windows版本,因为完整的.Net框架不可用。 另外,Get-WmiObject cmdlet不可用。 我可以看到一些信息的唯一方法就是使用这个非powershell命令DISM: Dism /Online /Get-Feature 这给了我这个输出以及一个安装的function列表: Deployment Image Servicing and Management tool Version: 10.0.10514.0 Image Version: 10.0.10514.0 Features listing for package : Microsoft-Windows-Foundation-Package~31bf3856ad364e35~amd64~~10.0.10514.0 从10514的值比我的Windows 10桌面高,我可以对内核构build有一些了解,有趣的是,Windows 10桌面具有相同的“Microsoft-Windows-Foundation-Package”,但是较低的内核构build数。 有没有人发现一个cmdlet或一些PowerShellfunction或别名,可以写,这将检测到我的PowerShell脚本运行在纳米服务器,以某种方式不可能中断,或任何命令将其实打印出“Windows Server 2016纳米服务器”? 更新:这更接近我想要的,但有点破解: Get-Item -Path 'Registry::HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion' 更新2:Get-WmiObject不存在,虽然下面的工作,它只报告内核版本: [System.Environment]::OSVersion.Version 上面将报告构build10514,而Windows 10客户端操作系统RTM报告10240目前,但上述是真正的“内核构build”而不是操作系统产品/版本/服务包级别。