Questions tagged «powershell»

Microsoft的交互式外壳程序,脚本和编程语言以及周围环境。PowerShell通常由管理Microsoft软件(包括Windows,Exchange,SharePoint和云服务Azure和Office 365)的系统管理员使用,默认情况下Windows附带了PowerShell,它接管了以前的语言(例如VB脚本)。

3
如何删除此孤立的Active Directory计算机对象(最好使用PowerShell)?
我正在使用带有PowerShell v2.0的Windows 7工作站进行工作,并尝试从启用LostAndFound了Active Directory回收站的2008 R2 FL林和域中的容器中删除特定(孤立的)对象,但没有运气用什么。 重要的是,我需要删除该对象,并且仅删除该对象(而不是删除具有该IsDeleted属性的每个对象,这似乎是我可以找到的全部帮助)。 我需要删除它,因为为了解决断开的信任关系,计算机已与域断开连接(大概是导致对象先进入回收站,然后再进入LostAndFound容器),并且我们想给它其原始名称返回(基于PC上的资产标签号)。尝试将计算机重新加入具有正确名称的域失败,并显示以下错误消息(The specified account does not exist) 并尝试将其重命名为正确的名称后,该操作失败,并显示以下错误消息(The account already exists) 因此实际的PC当前坐在那里的名称不正确,我需要纠正该名称。 但是,尝试删除此AD对象会产生错误:The specified account does not exist。该对象的可分辨名称中包含一个\(反斜杠)字符,我认为这是由于它位于LostAndFound容器中,我想知道这是否是问题所在……以及如何修复它。我将外壳程序运行为domain admin,验证了该domain admins组对相关对象具有完全控制权和所有权,并且似乎无法弄清楚该对象。 有问题的对象(已编辑) Get-ADObject "CN=SomeComputer\0ADEL:90a13eaa-c7b0-4258-bebb-87b7aed39ec6,CN=LostAndFound,DC=MyEmployer,DC=prv" -IncludeDeletedObjects -Properties * accountExpires : 9223372036854775807 CanonicalName : MyEmployer.prv/LostAndFound/SomeComputer DEL:90a13eaa-c7b0-4258-bebb-87b7aed39ec6 CN : SomeComputer DEL:90a13eaa-c7b0-4258-bebb-87b7aed39ec6 codePage : 0 countryCode : 0 Created …

8
PowerShell快速入门[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,以使其成为服务器故障的主题。 7年前关闭。 您开始采用Powershell的最佳方法是什么? 哪些资源,技巧和方案可以使您快速入门?
20 powershell 


2
如何以编程方式导致创建新的Windows用户的个人资料?
我正在为Windows服务创建(本地)用户运行。我有充分的理由不想使用网络服务,本地服务或本地系统。 我通过创建用户net user foobar "Abcd123!" /add-效果很好。 此时,c:\users\foobar尚不存在。 如果我创建了用户的主目录,则在用户登录(或更确切地说,是针对用户的服务)或启动用户要使用的服务之前,Windows会创建一个名为“邻家用户配置文件”的邻家服务器c:\users\foobar-{gibberish/SID/whatever}-这不是可预测的名称。 我需要用户的主目录包含诸如.ssh目录之类的东西,.gitconfig-这样的工具(不限于那些工具),这些工具假设它将是一个使用它们的人,因此用户配置应包含在内~/...。通常,工具来自Unix。 实际问题 那么-是否存在一种编程方式(最好是PowerShell或现成的命令行)来告诉Windows为本地用户创建用户配置文件? 或者,还有其他解决方法吗? 我尚未尝试的事情: 一个NSSM启动/预挂钩,通过Windows启动该服务,创建用户配置文件,然后将控制权交给运行该挂钩的NSSM包装程序,从而在启动之前将文件从其他位置复制到当前希望存在的用户配置文件目录中。 将服务的USERPROFILE环境变量设置为实际用户配置文件目录之外的其他位置。这使我觉得是危险的越野滑雪,但也可以正常工作。 其他背景: Windows Server 2016,桌面体验。 不能使用Core / Nano。 没有正在使用的活动目录。不会的。 这些是本地用户。 我正在通过Ansible进行此操作,后者在Windows的后台使用PowerShell。特别是带有Ansible 2.7.5 的win_user模块。 我不想创建一个C:\users\default(等效于/etc/skel),因为有几个不同的服务用户,并且一个大小无法容纳所有用户。这也不会影响用户配置文件的创建时间,只会影响创建时的内容。 我正在使用NSSM来管理服务。 我尝试过的事情 启动服务并允许Windows创建目录 我不想这样做,因为该服务在启动之前需要秘密,因此,如果我在图像烘焙过程中执行此操作,则需要清理它们,并确保我的服务不起作用烘烤阶段的任何工作。我想避免这两个小问题。

3
WIndows Server 2012和2012 R2中可以在没有域的情况下单独由PowerShell部署和管理远程桌面服务吗?
Windows Server 2008 R2允许在没有域且对域没有任何要求的情况下部署终端服务器(远程桌面服务)。这非常有用,特别是对于服务器的独立虚拟或云部署,该服务器由不需要或不需要任何ActiveDirectory或Domain功能的远程客户端进行远程管理。 随着Microsoft在每个Windows版本中对其技术的限制越来越严格,这变得越来越困难。使用Windows Server 2012,在不在域上但仍然可以的情况下,配置远程桌面服务的许可会更加困难。使用Windows Server 2012 R2(至少在预览版中),现在的障碍非常严重: Windows Server 2012 R2中的“添加/删除角色和功能”向导具有特殊的RDS部署模式,该规则具有一条规则,规定您不在域中就无法部署。它告诉您首先创建或加入域。当然,这与Active Directory域控制器不应与终端服务器计算机位于同一台计算机这一事实直接冲突。因此,Microsoft的技术与其说是不需要的节点群集,不如说是一种云操作系统,它需要支持我实际上想部署的一台计算机。这很麻烦,因此我试图找到一种解决方法。 但是,如果您跳过该向导,而只是选中“角色/功能”主向导中的复选框,则可以部署功能,但是UI不在此处进行配置,当您返回角色向导上的“ RDS配置”页面时,您会收到一条消息,提示您以本地计算机管理员身份登录时无法管理远程桌面服务系统,因为尽管您拥有(在基于工作组的系统中)所有的管理员特权,但RDS配置UI会不接受这些凭据,让您继续。 简而言之,我的问题是,我仍然可以得到以下最终结果: 我需要允许每个系统10-20个用户进行RDS(TS)会话。 我不需要任何花哨的RDS选项,除非Microsoft以某种方式依赖于这些功能。我相信我需要“ RDS会话主机”,因为这是“终端服务器”的勇气。微软表示,它是“用于远程桌面服务客户端的完整Windows桌面。 我需要配置许可,以使宽限期不会到期,而使RDS无法正常工作,因此这可能意味着我需要一种配置TS CAL的方法。 如果从技术上可以通过明智地使用PowerShell来完成上述所有工作,那么我准备甚至考虑开发我需要完成上述工作的所有PowerShell脚本。我不是要有人为我写那个。我要问的是,除了蓄意破坏针对工作组用户的2012 R2 UI外,还有谁知道我上面想要做的事情是否存在技术障碍吗?如果我从PowerShell脚本操作和控制基础技术,这些基础技术是否仍然可以使用? 显然,一个单词“是”或“否”的答案对任何人都没有帮助,所以问题实际上是,是或否,为什么?在这种情况下,答案是肯定的,然后如何。


14
有什么好的学习PowerShell脚本的资源?[关闭]
关闭。这个问题是题外话。它当前不接受答案。 7年前关闭。 已锁定。该问题及其答案被锁定,因为该问题是题外话,但具有历史意义。它目前不接受新的答案或互动。 您是否会推荐一些在线资源或书籍作为PowerShell脚本的介绍?我发现的资源主要集中在交互式使用上。

3
使用Powershell向IIS站点添加绑定
我正在尝试使用Powershell控制IIS应用程序中的绑定。我想使用脚本创建同时具有http和https绑定的网站。 到目前为止,这是我所拥有的: Param( [Parameter(Mandatory=$True,Position=1)] [string]$hostname, [Parameter(Mandatory=$True,Position=2)] [string]$installPath, [Parameter(Mandatory=$False,Position=3)] [string]$ip ) Import-Module WebAdministration $appPoolName = $hostname + 'Pool' $port = 80 $hostRecord = $hostname+'.example.com' $bindings = @{protocol="http";bindingInformation=$ip + ":"+ $port + ":" + $hostRecord} New-Item IIS:\AppPools\$appPoolName Set-ItemProperty IIS:\AppPools\$appPoolName managedRuntimeVersion v4.0 New-Item IIS:\Sites\$hostname -Bindings $bindings -PhysicalPath $installPath Set-ItemProperty IIS:\Sites\$hostname -Name applicationPool -Value …
19 powershell 

1
如何覆盖Powershell中的默认目录别名?
我想在Powershell中键入dir时看到彩色的文件名。因此,我从此处将Set-ChildItemColor函数添加到我的配置文件中。我还在配置文件的末尾添加了这一行,以覆盖dir别名: Set-Alias dir Get-ChildItemColor 现在,当我打开Powershell时,出现此错误: Set-Alias : The AllScope option cannot be removed from the alias 'dir'. At C:\Users\joe\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1:82 char:10 + Set-Alias <<<< dir Get-ChildItemColor + CategoryInfo : WriteError: (dir:String) [Set-Alias], SessionStateUna uthorizedAccessException + FullyQualifiedErrorId : AliasAllScopeOptionCannotBeRemoved,Microsoft.PowerShe ll.Commands.SetAliasCommand 这是什么AllScope?如何删除该选项以获取彩色目录?
19 powershell  alias 

3
标准Windows用户如何从命令行更改密码?
在Windows Server 2008 R2上,我有一个标准的(非管理员)本地用户(尽管该服务器位于域中,但不是Active Directory帐户),该用户只能通过PowerShell Remoting访问该服务器。用户无法通过RDP登录。 我希望该用户能够更改其密码。即使用户试图更改自己的密码,“ net user”命令也需要管理员权限。 标准用户如何从命令行更改密码?

8
导入模块Azure失败
我正在尝试使用Windows 8.1上的Windows Azure PowerShell模块。我已经下载并安装了Azure模块,并且一开始就可以运行和使用“ Windows Azure PowerShell”,这是一个仅加载Azure的PS。当我仅打开一个普通的PS窗口并执行Import-Module Azure时,它失败并显示: import-module : The specified module 'Azure' was not loaded because no valid module file was found in any module directory. 我怀疑这与Powershell版本或64 \ 32位版本有关。 有人对此有经验吗?
18 powershell  azure 

2
如何手动将PowerShell的OneGet存储库源设置为Chocolatey?
OneGet PowerShell模块应附带默认存储库Chocolatey。显示在此处的文档中。但是,当我运行Get-PackageSource时,它将返回PSGallery和MSPSGallery作为源。 如何手动将软件包源设置为Chocolatey? 我试过跑步: Register-PackageSource -Name chocolatey -ProviderName Chocolatey -Location http://chocolatey.org/api/v2/ 但它返回警告说: 找不到包裹提供者“巧克力”
17 powershell 

4
网络共享中的PowerShell DSC副本
我正在尝试使用PowerShell DSC从网络共享复制文件夹内容。这是代码: Configuration TestSetup { Node localhost { File Test { SourcePath = "\\Server\SomeShare\SomeFolder" DestinationPath = "E:\test" Recurse = $true Type = "Directory" } } } 但是,这不起作用-当我运行它时,出现以下错误消息: The related file/directory is: \\Server\SomeShare\SomeFolder. The path cannot point to the root directory or to the root of a net share. SourcePath must …



By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.