概述在域外的机器上创buildnetworking共享
问题:
使用.ps1脚本在远程计算机( Win 2008 Server )上创buildnetworking共享,并提供username和password 。
这适用于当前用户有足够权限的地方
$share = Get-WmiObject Win32_Share -List -Computername 10.0.0.1 $share.create(\”C:dir\”,\”foo\”,0)
当targetServer是我的用户没有足够权限的机器时,我需要一种方法来提供username和password
哪个服务器端语言Nginx webserver支持
如果通过计划任务调用BAT文件,则无法将文件复制到UNC目标
我如何获得我的公共IP地址在一个shell脚本?
在程序中检查networking状态并控制PPP
为什么我的networking服务器有时只传输部分响应?
服务器的单个端口(套接字)上的最大并发连接数
有效的networking服务器devise实例,用C写的
推荐开源或免费软件工具来检查两台服务器之间的networkingstream量
如何为每个进程路由使用linuxnetworking命名空间?
recvmmsg()不填充msghdr.msg_namelen?
Get-WmiObject具有一个参数-Credential ,所以你可以使用Get-Credential来提示用户输入凭据,并像这样传递它们:
$cred = Get-Credential $share = Get-WmiObject Win32_Share -List -Computer 10.0.0.1 -Credential $cred $share.Create(\’C:dir\’,\’foo\’,0)
如果你想完全自动化凭证处理,你可以自己建立一个凭证对象:
$username = \’DOMAINuser\’ $password = \’password\’ $pw = ConvertTo-securestring $password -AsPlainText -Force $cred = New-Object Management.automation.PSCredential $username,$pw $share = Get-WmiObject Win32_Share -List -Computer 10.0.0.1 -Credential $cred $share.Create(\’C:dir\’,0)
但是,将明文密码存储在脚本中并不是一个好的做法,所以您可能希望将加密的密码存储在单独的文件中(请确保在该文件上设置限制性的权限):
PS C:> Read-Host \’Enter password\’ -Assecurestring | >> ConvertFrom-securestring | Out-file \’C:password.txt\’ >> Enter password: ****** PS C:> Get-Content \’C:password.txt\’ 01000000d08c9ddf0115d1118c7a00c04fc297eb01000000a04a09e406c93741865ab010ed072699 0000000002000000000003660000c00000001000000028b14f21c501cdf629b94cea2837e8520000 000004800000a0000000100000002db774b0a8612917224e7dbfd69055340800000043f449c82f47 3e78140000007de59fcec57a1dc9b6b62272eff517b8bf5291e5
加密的密码然后可以像这样被读取和解密:
$username = \’DOMAINuser\’ $pw = Get-Content \’C:password.txt\’ | ConvertTo-securestring $cred = New-Object Management.automation.PSCredential $username,0)
但是,请注意, ConvertTo-securestring加密/解密用户(我认为主机)运行该命令的密码。 如果您需要以一个用户身份对密码进行加密,并以另一个用户(或其他主机)对其进行解密,则必须在这些用户/主机之间共享密钥。 随机密钥可以这样生成:
PS C:> $numchars = 24 # 192 Bit PS C:> $charmap = [char]\’A\’..[char]\’Z\’ + >> [char]\’a\’..[char]\’z\’ + >> [char]\’0\’..[char]\’9\’ >> PS C:> [char[]]($charmap | sort {Get-Random})[1..$numchars] -join \’\’ b69cGXKpJaI5tLrj4lHEPN3e
用这样的共享密钥创建密码文件:
PS C:> $key = [char[]]($charmap | sort {Get-Random})[1..$numchars] -join \’\’ PS C:> $pw = Read-Host \’Enter password\’ -Assecurestring | >> ConvertFrom-securestring -Key ([byte[]][char[]]$key) >> Enter password: ****** PS C:> @\” >> Key = $key >> Pass = $pw >> \”@ | Out-file \’C:password.txt\’ >>
并像这样读取加密的密码:
$username = \’DOMAINuser\’ $pass = Get-Content \’C:password.txt\’ | Out-String | ConvertFrom-StringData $pw = ConvertTo-securestring $pass.Pass -Key ([byte[]][char[]]$pass.Key) $cred = New-Object Management.automation.PSCredential $username,0)
总结
以上是内存溢出为你收集整理的在域外的机器上创buildnetworking共享全部内容,希望文章能够帮你解决在域外的机器上创buildnetworking共享所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
请登录后查看评论内容